任何人都可以告诉我如何取消在C#中使用wpf webbrowser打开新窗口的事件吗?我不希望在点击链接时在我的应用程序顶部显示Internet Explorer窗口。
webbrowser的定义如下:
<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" />
此致
答案 0 :(得分:2)
好的,滚动到this page的底部。其中一个用户提供了一个解决方案,涉及从WPF WebBrowser控件获取IWebBrowser2接口。此界面提供对NewWindow事件的访问,该事件可用于取消打开新的浏览器窗口。这对我来说似乎是一个有效的解决方案。
祝你好运,如果您需要更多帮助,请告诉我。
答案 1 :(得分:0)
将此添加到您的命名空间对我有用,我不知道为什么...我发现了它here 但我只使用了这部分代码,没有 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);
}
如果有人可以解释为什么此代码可以完成这项工作,请...