我使用HyperLinkButton并在c#代码中添加方法以点击他。
代码方法:
void btnViewURL_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(viewURL) == false
&& this.decisionViewModel.IsURLValid(viewURL))
{
System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(viewURL, UriKind.Absolute), "_blank");
}
}
此代码适用于但不适用于Safari。
尝试在xaml中使用NavigateUrl属性后。我添加了绑定,但这种方法在Safari中也不起作用。如果我设置纯文本网址(例如 - " https://google.com"没有绑定,那么Safari就会打开链接。
<HyperlinkButton Margin="8,0,0,0" x:Name="linkStaticURL"
NavigateUri="{Binding viewURL}"
TargetName="_blank">
<TextBlock Text="Reader"</TextBlock>
</HyperlinkButton>
我该如何解决这个问题?
答案 0 :(得分:0)
您可以使用Process.Start
在默认浏览器中打开网址:
void btnViewURL_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(viewURL) == false)
&& this.decisionViewModel.IsURLValid(viewURL))
{
System.Diagnostics.Process.Start(viewURL);
}
}
如果您要启动特定的网络浏览器,可以将其位置传递给与此处建议的方法相同的方法:
Launch Web URL in NON-default browser
除了设置NavigateUri
之外,您还应该处理RequestNavigate
事件: