WPF框架 - 在外部浏览器中打开链接

时间:2010-04-01 14:38:20

标签: html wpf browser

我在WPF窗口中有一个Frame(用于显示本地html文件)。我希望当用户点击链接等时,这将在外部浏览器窗口(用户的默认Web浏览器)中打开。

任何想法如何解决这个问题?

3 个答案:

答案 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事件。