2012-02-05 14 views
2

C#とWPFの新機能です。私は新しいウィンドウを開き、そのウィンドウ内に完全に閉じ込めて、親をロックします。つまり、MessageBoxと似たものです。モーダルウィンドウの作成方法は?

私は選択したメニュー項目にメソッドOnCloseを呼び出し、私は確認ウィンドウを作成して表示します。私は親を無効にしますが、作成した2番目のウィンドウが閉じられるまで待機したいメソッド全体を実行します。代わりに.Show()使用.ShowDialog()

void OnClose(object sender, ExecutedRoutedEventArgs args) 
    { 
     //this.IsEnabled = true; 
     ConfirmClose cc = new ConfirmClose(); 
     this.IsEnabled = false; 
     cc.Show(); 
     cc.Focus(); 
// How can I wait here until the windows cc has closed 
     this.IsEnabled = true; 


    } 
+0

あなたがCloseをキャンセルできるOnClosingイベントに興味があると思います。 – kenny

答えて

10

彼は、フォームを閉じない限り、ユーザはこのように、親ウィンドウに戻ることはできません。

ConfirmClose cc = new ConfirmClose(); 
cc.ShowDialog(); 

ConfirmCloseSystem.Windowsであると仮定すると。

+0

特に、彼は_blockingコール_を探しています。 – SLaks

+0

OPが望んだこと、まあまあです。 – ken2k

+0

@SLaks、彼は 'ConfirmClose()'を閉じるまで、そしてShowDialog()が何をするまで親ウィンドウをユーザからロックするために*ブロッキングコール*を探しています。これは私がOPの質問から理解したものです。 –

関連する問題