Как использовать управление браузером WebKit в WPF - PullRequest
5 голосов
/ 08 декабря 2010

Я хочу использовать браузерный контроль WebKit в своем приложении WPF.Однако я не могу добавить его во время разработки.Даже если я добавлю WebKit в панель инструментов, он будет отключен.

У меня вопрос, как использовать этот элемент управления во время разработки в форме WPF?

Спасибо, Омкар

Ответы [ 3 ]

2 голосов
/ 19 января 2014

Как объяснено в http://msdn.microsoft.com/en-us/library/ms742735(v=vs.110).aspx, сначала необходимо создать сетку WPF в файле XAML.

<Grid x:Name="grdBrowserHost">
</Grid>

и добавить .NET WebKit в форму WPF, вставив этот код в свой файл.C # source.

System.Windows.Forms.Integration.WindowsFormsHost host =new System.Windows.Forms.Integration.WindowsFormsHost();

// Create the ActiveX control.
WebKit.WebKitBrowser browser = new WebKit.WebKitBrowser();
browser.Navigate("http://www.google.com");

// Assign the ActiveX control as the host control's child.
host.Child = browser;

// Add the interop host control to the Grid 
// control's collection of child controls. 
grdBrowserHost.Children.Add(host);

Не забудьте включить эти ссылки

System.Windows.Forms

WindowsFormsIntegration

в ваш проект.

Надеюсь, эта помощь.

0 голосов
/ 08 октября 2017

Один из лучших подходов для размещения Webkit (или Blink) в настоящее время в приложении WPF (по состоянию на октябрь 2017 года), похоже, с проектом Awesomium , который имеет первоклассные библиотеки-оболочки для различных платформ, включая WinForms и WPF.

Я не советую использовать какой-либо элемент управления веб-браузера внутри System.Windows.Forms.Integration.WindowsFormsHost в приложении WPF, потому что, по крайней мере, из-за добавленных слоев косвенности и непредсказуемого поведения в контекстах с высоким разрешением - я уверен, что есть и другие причины ,

Обратите внимание, что Awseomium не является открытым программным обеспечением с открытым исходным кодом. Если ваша компания приносит прибыль в размере более 100 тыс. Долларов США в год, то для коммерческих приложений взимается лицензионный сбор в размере 2900 долларов США за название .

С учетом этого предостережения начать работу с Awesomium в WPF просто :

  1. Загрузите Awesomium SDK . (По состоянию на октябрь 2017 года страница загрузки Awesomium недоступна для обновления, , но SDK все еще доступен для загрузки из Интернет-архива и других мест в Интернете).
  2. Установщик SDK зарегистрирует сборки Awesomium в GAC для вас, поэтому они появятся в окне «Установка и удаление элементов» панели инструментов WPF (и WinForms).
  3. Откройте ваш проект WPF в Visual Studio и откройте проектный документ XAML.
  4. Откройте набор инструментов Visual Studio, откройте окно «Установка и удаление элементов» и добавьте элементы управления Awesomeium WPF из сборки Awesomium.Windows.Controls.dll, загруженной в GAC. Вам, вероятно, понадобится только элемент управления WebControl (Awesomium.Windows.Controls.WebControl).
  5. Перетащите элемент управления из панели инструментов на вашу область проектирования - Visual Studio автоматически обновит ваш проект, добавив ссылки на сборки Awesomeium.

Обратите внимание, что в Chromium есть и другие библиотеки-обертки - я не хотел специально одобрять Awesomium, но я хорошо провел время, когда использовал его в недавнем проекте.

Еще одна популярная библиотека - CefSharp , лицензированная BSD, которая будет более приемлемой по сравнению с Awesomium, но (насколько я могу судить) не распространяет установщик SDK, который обрабатывает интеграцию Visual Studio Toolbox для вы - но, похоже, вам нужно только вручную добавить ссылку на сборку CefSharp.Wpf.dll и добавить элементы в ваш проект WPF (с помощью редактора XAML, а не панели инструментов - что вы должны делать в любом случае).

0 голосов
/ 08 декабря 2010

Я предполагаю, что это элемент управления ActiveX. Попробуй это: http://msdn.microsoft.com/en-us/library/ms742735.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...