Добавить средство просмотра PDF в приложение WPF
Я новичок в WPF и пытаюсь добавить просмотрщик PDF в свое приложение WPF, но, похоже, не могу понять, как это сделать ... Я попробовал следовать нескольким учебникам / примерам, которые я нашел в Интернете, но они не работают для меня по разным причинам ...
Например, я пытался следовать учебнику по адресу:https://documentation.devexpress.com/#WPF/CustomDocument114328 добавить PDF Viewer во время разработки - это говорит
перетащите PdfViewerControl из вкладки DX.15.2: Data & Analytics Toolbox и поместите его в главное окно
Тем не менее, у меня, кажется, нетData & Analytics
вкладка в наборе инструментов ... естьData
вкладка, но в ней есть только такие элементы, как Pointer, Chart, ListView и т. д. Что мне нужно сделать, чтобы добавить / включитьData & Analytics
панель инструментов в Visual Studio?
Я пытался следовать учебнику по адресу:https://documentation.devexpress.com/#WPF/CustomDocument114329 добавить PDF Viewer через код - он говорит
Откройте обозреватель решений, щелкните правой кнопкой мыши ссылку и выберите Добавить ссылку ..., чтобы добавить библиотеку PDF Viewer.
Затем найдите сборки DevExpress.Data.v15.2, DevExpress.Pdf.v15.2.Core, DevExpress.Xpf.DocumentViewer.v15.2.Core и DevExpress.Xpf.PdfViewer.v15.2 и активируйте их флажки. ,
Но когда я иду вAdd Reference
Я не могу найти сборки, о которых он упоминает, и если я «ищу» их, никакие элементы не найдены ...
Я скучаю поinclude
, или мне нужно импортировать некоторые библиотеки откуда-то или что-то, чтобы использовать их?
Еще один, который я попробовал:http://www.codeproject.com/Articles/380019/Using-Adobe-Reader-in-a-WPF-app который говорит:
После добавления этого элемента управления в проект конструктор Windows Forms должен быть открыт с пустым холстом. Вам нужно будет открыть ящик для инструментов (CTRL + W, X). В качестве первого шага рекомендуется добавить новую вкладку для пользовательских элементов управления - это опция из контекстного меню на панели инструментов. Открыв эту новую вкладку, выберите «выбрать элементы» в контекстном меню. Когда появится диалоговое окно «Выбрать элементы панели инструментов», перейдите на вкладку «Компоненты COM» и выберите «Adobe PDF Reader» (это добавит AcroPDF.DLL в панель инструментов).
Но я не могу найтиChoose Toolbox Items
или жеCOM Components
это говорит о ...
Может ли кто-нибудь указать мне более понятное руководство или объяснить, как добавить PDF-просмотрщик в мое приложение WPF? Я использую Visual Studio 2015.
редактировать
Я попытался отобразить файл PDF внутри окна приложения, выполнив следующие действия:
Добавление<Grid>
чтобы отобразить PDF в GUI в XAML:
<StackPanel>
<Grid x:Name="browserHost" Height="300" Width="525" Margin="0,0,0,0"></Grid>
</StackPanel>
ДобавлениеWebBrowser
к<Grid>
в C # и, указывая на расположение PDF-файла, который я хочу отобразить:
System.Windows.Controls.WebBrowser browser = new System.Windows.Controls.WebBrowser();
public MainWindow()
{
InitializeComponent();
try
{
//browser.Navigate("C:\\...\\sample.pdf");
browserHost.Children.Add(browser);
//browser.Visible = true;
browser.Navigate("C:\\...\\sample.pdf");
browserHost.Opacity = 200;
}catch(Exception e)
{
Console.WriteLine("browser is visible/ not: " + browserHost.Visibility);
}
}
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
/*Create the interop host control */
//System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowFormsHost();
/*Create the MaskedTextBox control */
//browser.Navigate("C:\\...\\sample.pdf");
//host.Child = browser;
browserHost.Children.Add(browser);
}
Но в настоящее время, когда я запускаю свое приложение, как только оно загружается,browser
то, что я добавил к нему, отображает страницу с надписью:
Переход на вебстраницу был отменен
и появляется диалоговое окно с вопросом, хочу ли я открыть или сохранить файл (sample.pdf
- тот, который я пытаюсь отобразить в браузере) ...
Почему он пытается загрузить файл, а не отображать его? Как я могу получитьbrowser
показать файл вместо того, чтобы пытаться загрузить его? Или я должен использовать что-то кромеSystem.Windows.Controls.WebBrowser
Вот?