C# 取消在浏览器中打开链接

C# 取消在浏览器中打开链接,c#,windows-phone-7,C#,Windows Phone 7,在我的Windows phone应用程序中,我使用RichTextBox元素 我有一个超链接,当用户点击它时,会出现一个对话框:你想在外部浏览器中打开这个链接吗。如果用户拒绝,则不应打开外部浏览器。我取消导航,但在任何情况下-外部浏览器打开。如何取消在浏览器中打开链接 //Constructor static Helper() { var phoneApplicationFrame = Application

在我的Windows phone应用程序中,我使用RichTextBox元素

我有一个超链接,当用户点击它时,会出现一个对话框:你想在外部浏览器中打开这个链接吗。如果用户拒绝,则不应打开外部浏览器。我取消导航,但在任何情况下-外部浏览器打开。如何取消在浏览器中打开链接

//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中,询问问题并仅在他们回答“是”时打开浏览器。

这比试图取消正在进行的操作要简单得多。

如果您不向我们显示代码,我们无法告诉您代码有什么问题。.可能存在重复的