2016-03-25 7 views
0

oficial docに記載されているように、ボタンの押下を処理する可能性がありますが、戻ってこないようにロジックを処理することはできません。だから私のコードは次のようになります:uwpで戻るボタンを無効にする

//declare event 
public event EventHandler<BackRequestedEventArgs> BackRequested; 

public MainPage() { 
    InitializeComponent(); 

    // tie my event with back action 
    SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested; 
} 

// handle the back event 
private void OnBackRequested(object sender, BackRequestedEventArgs e) { 
    //need to do only my logic here - do NOT go back 
} 

この動作を得る方法があります。 Androidはそれがそうであるように私はそれが好きだろう:それはあなた自身のロジックを実装し、あなたが戻ってスタックを通過するかどうかを選択することができますように

@Override 
public void onBackPressed() { 
    //does only my logic 
} 

答えて

1

あなたがtrueに引数パラメータe.Handledを設定することができます。

private void OnBackRequested(object sender, BackRequestedEventArgs e) 
    { 
     Frame rootFrame = Window.Current.Content as Frame; 

     if (rootFrame.CanGoBack) 
     { 
      e.Handled = true; 

      if(condition) //my condition is true so go back through the stack 
       rootFrame.GoBack(); 
      } 
     } 
    } 
+1

'e.Handled = true;'これはすべて私が必要としたものです.thx – Choletski

関連する問題