我在一个WPF窗口中有一个框架(用于显示本地HTML文件)。 当用户单击链接或类似内容时,我希望在外部浏览器窗口中打开它(用户的默认Web浏览器)。
请问如何实现这一功能?
只要去做:
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;
}
}
<TextBlock>
<Hyperlink NavigateUri="http://www.google.com" TargetName="_top">
Go Google!
</Hyperlink>
</TextBlock>
这是一篇非常有用的文章从超链接启动浏览器,并且解释了你需要什么,阅读“浏览器(XBAP或Loose XAML)”的要点。
设置TargetName="_self"
将在当前框架中打开链接,我想这正是你想要的。
YourFrame.NavigationService
的Navigating
事件可能是可能的:http://msdn.microsoft.com/zh-cn/library/system.windows.navigation.navigationservice.navigating.aspx - Heinzi