2017-09-28 1 views
0

ユーザーがWPFダイアログウィンドウからオプションを選択したときに別のページに移動します。ページ1から、私は私が呼び出し元の関数に値を戻したときにダイアログウィンドウに、私は、はい/いいえオプション(ボタン)を選択ポップアップダイアログウィンドウからwpfの別のページにナビゲートする方法MVVMを使用していません

private void newCust_Click(object sender, RoutedEventArgs e) 
    { 
     bvnQuery bv = new bvnQuery(); 
     bool? val = bv.ShowDialog(); 

     if (val.HasValue && val.Value) 
     { 
      NavigationService.Navigate("page3.xaml", UriKind.Relative); 
     } 
    } 

ボタンのクリックイベントを経て、このコードでウィンドウをポップアップし、上記のURIのページに移動すると空白のページが表示されます。これを回避するにはどうしたらいいですか?

+0

あなたはのNavigationServiceを使用しています? – AGrammerPro

+0

はい、私はこのNavigationService.Navigate( "page3.xaml"、UriKind.Relative)を使用しています。 それはページにナビゲートしていません –

+0

ボタンをクリックする方法にナビゲーションサービスを追加してみませんか? – AGrammerPro

答えて

0

あなたは「はい/いいえ」ハンドラ内でごbvnQueryウィンドウのDialogResultプロパティを設定する必要があります。

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    this.DialogResult = true; 
} 

この値はShowDialog()メソッドから返されます。

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    bvnQuery bv = new bvnQuery(); 
    bool? val = bv.ShowDialog(); 

    if (val.HasValue && val.Value) 
    { 
     //... 
    } 
} 
+0

このNavigationService.Navigate( "page3.xaml"、UriKind.Relative)を実行すると、必要なページにナビゲートしていません。 ifブロック内の valがtrueを返す –

+0

あなたが提供したコードサンプルの更新プログラムで質問を更新しました。ありがとう –

+0

私の悪い。私は混乱のために申し訳ありません。あなたはこのNavigationService.Navigate(新しいUri( "page3.xaml"、UriKind.Relative));を実行することになっていました。ありがとう –

関連する問題