У меня есть программа WPF, в которую я хотел бы встроить средство просмотра PDF в Winforms, AcroPDF. У меня есть сетка в XAML, к которой я добавляю:
<Border HorizontalAlignment="Stretch" Grid.Row="5" Grid.RowSpan="4" Grid.Column="4" Margin="4,0" Name="APBorder">
<Grid Name="APGrid" Loaded="APGrid_Loaded"/>
</Border>
И в коде я создаю WindowsFormsHost и PDF, устанавливаю дочерний элемент хоста и добавляю хост в Grid :
private void APGrid_Loaded(object sender, RoutedEventArgs e)
{
System.Windows.Forms.Integration.WindowsFormsHost host =
new System.Windows.Forms.Integration.WindowsFormsHost();
AcroPDFLib.AcroPDF acroPDF = new AcroPDFLib.AcroPDF();
test.LoadFile(@"C:\Users\Me\MyFile.pdf");
host.Child = acroPDF;
this.APGrid.Children.Add(host);
}
Однако я не могу добавить это, поскольку AcroPDF не является элементом управления, и я не могу разыграть без cra * sh. Я попытался заменить сетку непосредственно на WindowsFormsHost, но это столкнулось с той же проблемой.
Как я могу получить этот PDF для отображения? Я начал с использования ContentDisplay / WebBrowser из WPF, но это привело к целому ряду ошибок согласно этому вопросу StackOverflow .