1

にナビゲーションをキャンセルする私が持っている:どのように私のWindows PhoneアプリケーションでのRichTextBoxの私のコードでは、リッチテキストボックス

var link = new Hyperlink(); 
         if (!string.IsNullOrEmpty(linkUrl)) 
         { 
          link.NavigateUri = new Uri(linkUrl); 
         } 
         link.Foreground = new SolidColorBrush(Colors.Blue); 
         link.TargetName = "_blank"; 

         var linkText = new Run() { Text = linkDesc }; 
         link.Inlines.Add(linkText); 
         link.Click += new RoutedEventHandler(NavidateTo); 

         paragraph.Inlines.Add(link); 

private static void NavidateTo(object sender, RoutedEventArgs routedEventArgs) 
     { 

      if (MessageBox.Show(
          Constants.BrowserNavigating, 
          "", 
           MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) 
      { 
       //cancel Navigation 
      } 
      else 
      { 
       StateManager.Set("Browser", "true"); 
      } 
     } 

にはどうすればNavidateTo方法でナビゲーションをキャンセルすることができますか?

更新

プライベートの静的な無効NavidateTo(オブジェクト送信者、RoutedEventArgs routedEventArgs) {

if (MessageBox.Show(
        Constants.BrowserNavigating, 
        "", 
         MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) 
    { 
     //cancel Navigation 
     var phoneApplicationFrame = Application.Current.RootVisual as PhoneApplicationFrame; 
     if (Application.Current.RootVisual as PhoneApplicationFrame != null) 
      phoneApplicationFrame.Navigating += new NavigatingCancelEventHandler(NavigationService_Navigating); 
    } 
    else 
    { 
     StateManager.Set("Browser", "true"); 
    } 
} 

public static void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e) 
{ 
    { 
     e.Cancel = true; 
    } 
} 

これは

答えて

0

使用this.NavigationService.StopLoadingを(役に立ちません)。

Navigatingイベント登録:

はまた、この方法を検討してください。

void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e) 
{ 
    // Don't allow refreshing of a static page 
    if (DO SOME CHECKS) 
     { 
      e.Cancel = true; 
     } 
} 

msdnでこの記事を見てください。

http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.navigating.aspx

+0

それは私の更新を参照して、どのような場合にnavagete – revolutionkpi

+0

することができますe.Cancel = trueの場合、NavigationService.Navigatingを見てみましょう。それ... – animaonline

+0

ハイパーリンクはこのイベントを持っていません! – revolutionkpi

関連する問題