захват и отмена события открытия нового окна в веб-браузере wpf - PullRequest
2 голосов
/ 08 августа 2011

Может ли кто-нибудь сказать мне, как отменить событие открытия нового окна в веб-браузере wpf в C #? Я не хочу показывать окно Internet Explorer поверх моего приложения при нажатии на ссылку.

Веб-браузер определяется следующим образом:

  <WebBrowser Canvas.Left="311.522" Canvas.Top="106.949" Height="500.805"
                  Width="945.998" ScrollViewer.VerticalScrollBarVisibility="Hidden" 
                        ScrollViewer.CanContentScroll="False"
                        ScrollViewer.HorizontalScrollBarVisibility="Hidden"
                  HorizontalAlignment="Left" Name="wbNavigator" VerticalAlignment="Bottom" ClipToBounds="True"   Navigated="wbNavigator_Navigated" />

С уважением,

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Хорошо, прокрутите вниз до этой страницы . Один из пользователей предоставляет решение, которое включает получение интерфейса IWebBrowser2 из элемента управления WPF WebBrowser. Этот интерфейс обеспечивает доступ к событию NewWindow, которое можно использовать для отмены открытия нового окна браузера. Это похоже на правильное решение для меня.

Удачи, и дайте мне знать, если вам нужна дополнительная помощь с этим.

0 голосов
/ 01 декабря 2018

Добавить это в ваше пространство имен работает для меня, я не знаю почему ... Я нашел это здесь но я использовал только эту часть кода без MyWebBrowser.LoadCompleted и COM ссылается на материалы

[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("6d5140c1-7436-11ce-8034-00aa006009fa")]
internal interface IServiceProvider
{
    [return: MarshalAs(UnmanagedType.IUnknown)]
    object QueryService(ref Guid guidService, ref Guid riid);
}

Если кто-то может объяснить, почему этот код выполняет работу, пожалуйста ...

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