我在c#代码中使用HyperLinkButton和add方法为他单击。
编码方法:
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");
}
}此代码在ie中有效,但在Safari中不起作用。
在我尝试在xaml中使用NavigateUrl属性之后。我添加了绑定,但此方法在Safari中不起作用。如果我设置了纯文本url (例如-没有绑定的"https://google.com“,那么Safari打开了链接。
<HyperlinkButton Margin="8,0,0,0" x:Name="linkStaticURL"
NavigateUri="{Binding viewURL}"
TargetName="_blank">
<TextBlock Text="Reader"</TextBlock>
</HyperlinkButton>我该如何解决这个问题?
发布于 2018-04-18 21:01:43
您可以使用Process.Start在默认浏览器中打开该网址:
void btnViewURL_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(viewURL) == false)
&& this.decisionViewModel.IsURLValid(viewURL))
{
System.Diagnostics.Process.Start(viewURL);
}
}如果您要启动特定的web浏览器,您可以将其位置传递给此处建议的相同方法:
Launch Web URL in NON-default browser
除了设置NavigateUri之外,您还应该处理RequestNavigate事件:
https://stackoverflow.com/questions/49896984
复制相似问题