我在WPF窗口中有一个Frame(用于显示本地html文件)。我希望当用户点击链接等时,这将在外部浏览器窗口(用户的默认Web浏览器)中打开。
任何想法如何解决这个问题?
答案 0 :(得分:0)
<TextBlock>
<Hyperlink NavigateUri="http://www.google.com" TargetName="_top">
Go Google!
</Hyperlink>
</TextBlock>
答案 1 :(得分:0)
这是一篇非常有用的文章Launching the Browser from a Hyperlink,可以解释一下你需要什么,请阅读“浏览器(XBAP或松散XAML)”的要点。
设置TargetName="_self"
将打开当前帧中的链接,我收集的是你想要的。
答案 2 :(得分:0)
只需这样做:
private void Frame_Navigating(object sender, NavigatingCancelEventArgs e)
{
// You should make sure the links are different.
if (IsExternalLink(e.Uri))
{
// open links in extbrowser.
Process.Start(e.Uri.AbsoluteUri);
// cancel the event, and Frame cannot perform navigation operation.
e.Cancel = true;
}
}
另一种解决方案:
外部链接使用Click
事件而不是RequestNavigate
事件。