Используемый код, который я нашел на SO, использовал Acrobat Reader на основе COM для отображения PDF с помощью хостинга в WindowsFormsHost.
Прекрасно отображает PDF.Две проблемы:
Когда я загружаю PDF, элемент управления AxAcroPDFLib.AxAcroPDF получает фокус
Я хочу, чтобы фокус оставался на предыдущем
Когда AxAcroPDFLib.AxAcroPDF находится в фокусе, он съедает горячую клавишу (N)
Клавиша ALT даже не подчеркивает N. Даже если пользователь выбирает AxAcroPDFLib.AxAcroPDF, я бы хотел, чтобы горячие клавиши работали.
Я понимаю, что это COM и Adobe в WPF, и ответа может не быть.Если для просмотра PDF есть бесплатный или дешевый элемент управления WPF, я был бы рад пойти по этому пути.Это для коммерческого применения, поэтому оно должно быть бесплатным (или дешевым) для коммерческого использования.
<Button Click="Button_Click">_Next</Button>
<WindowsFormsHost Name="windowsFormsHost1" Margin="1" />
UserControl1 UC = new UserControl1(@"C:\temp\1000001.pdf");
this.windowsFormsHost1.Child = UC;
public UserControl1(string filename)
{
InitializeComponent();
this.axAcroPDF1.LoadFile(filename);
}
Отображает PDF.В производственном приложении я отображаю различные PDF-файлы в зависимости от используемых действий.