有人知道如何在WPF WebBrowser控件中捕获链接上的点击吗?
在页面导航之前,我需要在点击链接时获取链接目标。
任何投入都受到高度赞赏!
我在Code中的解决方案正如针对简单链接所建议的那样,这将通过以下代码实现:
private void webBrowser1_Navigating(object sender, NavigatingCancelEventArgs e)
{
//prefix must be lowercase (ssrs conforms to web-standards and makes things lowercase)
string myPrefix = "http://myPrefix";
//check if target starts with the prefix
if (e.Uri.AbsoluteUri.StartsWith(myPrefix))
{
//cancel Navigation
e.Cancel = true;
}
}
谢谢你让我解决这个问题。
答案 0 :(得分:3)
您可以将事件处理程序附加到Navigating事件。提取链接,在导航页面之前执行逻辑。
干杯。
答案 1 :(得分:1)
我不确定,但可能是MessageHook事件可以帮助你
http://msdn.microsoft.com/en-us/library/system.windows.interop.hwndhost.messagehook.aspx
答案 2 :(得分:0)
在WebBrowser导航事件处理程序中控制您的点击次数。您可以在Xal或构造函数中创建它,并使用以下方法:
private void webBrowser_Navigating(object sender, NavigatingCancelEventArgs e)
{
// The WebBrowser control is checking the Uri
if (e.Uri.ToString() != "Place your url string here") //ex: "http://stackoverflow.com"
{
// Uri is not the same so it cancels the process
e.Cancel = true;
}
}