WPF WebBrowser 控件 - "Navigating" 事件未触发
WPF WebBrowser control - "Navigating" event not firing
我有一个使用 WPF 网络浏览器的简单应用程序:
<WebBrowser x:Name="browserMovieLinks" Navigating="browserMovieLinks_Navigating"/>
和代码隐藏中的事件处理程序:
private void browserMovieLinks_Navigating(object sender, NavigatingCancelEventArgs e)
{
//do whatever
}
在过去的几年里,这一直完美无缺:当用户在 WebBrowser 控件显示的页面中单击 link 时,导航事件总是被触发。
但是,我注意到最近(不幸的是不知道什么时候或为什么)它已停止工作。不知道是因为我在不同的机器上,还是 .NET 库或 WebBrowser 控件下的 IE 实现发生了某些变化,但现在事件不再触发。
有什么线索吗?
注意:在您指出之前,我知道在 SO 上还有其他类似的问题(例如:Webbrowser not firing events when you click links after navigating to a page),但其中 NONE 给出了正确的解决方案。他们都建议使用不同的第 3 方组件,或者没有任何令人满意的答案,所以我打开这个,希望能得到这个问题的正确答案。
(请注意,我在 WinForms 中的 WebBrowser 控件中遇到过这个问题,因此它可能与 WPF 中的不完全相同。)
你的 link 长什么样?我有一个类似的问题,这是由锚 link 中的目标参数设置为 _blank.
引起的
所以:
<a href="https://example.com" target="_blank">
会在另一个 window 中正确打开 link,但不会触发任何导航事件,因为浏览器本身没有导航到任何地方。我的解决方案是删除目标参数:
<a href="https://example.com">
然后导致浏览器发生导航事件。
只是为了结束这个问题:在我的情况下,这是系统级别的某种问题,IE 在其他情况下也表现得很奇怪。在新的 Windows 安装中它又开始工作了。
我有一个使用 WPF 网络浏览器的简单应用程序:
<WebBrowser x:Name="browserMovieLinks" Navigating="browserMovieLinks_Navigating"/>
和代码隐藏中的事件处理程序:
private void browserMovieLinks_Navigating(object sender, NavigatingCancelEventArgs e)
{
//do whatever
}
在过去的几年里,这一直完美无缺:当用户在 WebBrowser 控件显示的页面中单击 link 时,导航事件总是被触发。
但是,我注意到最近(不幸的是不知道什么时候或为什么)它已停止工作。不知道是因为我在不同的机器上,还是 .NET 库或 WebBrowser 控件下的 IE 实现发生了某些变化,但现在事件不再触发。
有什么线索吗?
注意:在您指出之前,我知道在 SO 上还有其他类似的问题(例如:Webbrowser not firing events when you click links after navigating to a page),但其中 NONE 给出了正确的解决方案。他们都建议使用不同的第 3 方组件,或者没有任何令人满意的答案,所以我打开这个,希望能得到这个问题的正确答案。
(请注意,我在 WinForms 中的 WebBrowser 控件中遇到过这个问题,因此它可能与 WPF 中的不完全相同。)
你的 link 长什么样?我有一个类似的问题,这是由锚 link 中的目标参数设置为 _blank.
引起的所以:
<a href="https://example.com" target="_blank">
会在另一个 window 中正确打开 link,但不会触发任何导航事件,因为浏览器本身没有导航到任何地方。我的解决方案是删除目标参数:
<a href="https://example.com">
然后导致浏览器发生导航事件。
只是为了结束这个问题:在我的情况下,这是系统级别的某种问题,IE 在其他情况下也表现得很奇怪。在新的 Windows 安装中它又开始工作了。