C# 取消在浏览器中打开链接
在我的Windows phone应用程序中,我使用RichTextBox元素 我有一个超链接,当用户点击它时,会出现一个对话框:你想在外部浏览器中打开这个链接吗。如果用户拒绝,则不应打开外部浏览器。我取消导航,但在任何情况下-外部浏览器打开。如何取消在浏览器中打开链接C# 取消在浏览器中打开链接,c#,windows-phone-7,C#,Windows Phone 7,在我的Windows phone应用程序中,我使用RichTextBox元素 我有一个超链接,当用户点击它时,会出现一个对话框:你想在外部浏览器中打开这个链接吗。如果用户拒绝,则不应打开外部浏览器。我取消导航,但在任何情况下-外部浏览器打开。如何取消在浏览器中打开链接 //Constructor static Helper() { var phoneApplicationFrame = Application
//Constructor
static Helper()
{
var phoneApplicationFrame = Application.Current.RootVisual as PhoneApplicationFrame;
if (Application.Current.RootVisual as PhoneApplicationFrame != null)
{
phoneApplicationFrame.Navigating += new NavigatingCancelEventHandler(NavigationService_Navigating);
}
}
link.Foreground = new SolidColorBrush(Colors.Blue);
link.MouseOverForeground = new SolidColorBrush(Colors.Blue);
link.TargetName = "_blank";
var linkText = new Run() { Text = linkDesc };
link.Inlines.Add(linkText);
link.Click += new RoutedEventHandler(NavidateTo);
private static void NavidateTo(object sender, RoutedEventArgs routedEventArgs)
{
if (MessageBox.Show(
Constants.BrowserNavigating,
"",
MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
{
StateManager.Set("ExternalBrowser", "true");
}
else
{
StateManager.Set("Browser", "true");
}
}
public static void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
{
var res = StateManager.Get("ExternalBrowser");
if (res != null)
{
StateManager.Remove("ExternalBrowser");
e.Cancel = true;
}
}
不要让Hyperlink按钮打开链接本身,而不要指定NavigationUri,而是自己处理
点击
事件
在eventhandler中,询问问题并仅在他们回答“是”时打开浏览器。这比试图取消正在进行的操作要简单得多。如果您不向我们显示代码,我们无法告诉您代码有什么问题。.可能存在重复的