5

で呼び出される WPF ウィンドウを使用して、カスタム MessageBox を作成しようとしていますShowDialog()

これまでのところ、1 つのことを除いてすべてを実装することができました。

ご存じのとおり、 を使用するMessageBox.Show("text");と、フォーカスを設定したり、親ウィンドウ ( を呼び出したウィンドウ) をクリックしたりすることはできませんMessageBox。親ウィンドウをクリックしようとすると、MessageBoxが短く点滅して、最初に閉じる必要があることを警告します。

ただし、 で作成されたウィンドウWindow.ShowDialog();は、その動作を示しません。実際、親ウィンドウにフォーカスを設定することはできませんが、子ウィンドウ ( で呼び出されますShowDialog()) が短時間点滅することはありません。

私の質問は、WPF でそれを実装する方法はありますか? 私は答えを探していましたが、認めなければなりません、私は困惑しています。

みんな、ありがとう!

4

2 に答える 2

11

モーダルウィンドウのを正しく設定する必要がありOwnerます。たとえば、所有ウィンドウ内から次のコードを使用します。

Window win = new SomeModalWindow();
win.Owner = this;
win.ShowDialog();
于 2010-10-26T19:49:28.610 に答える
3

Owner子のプロパティをWindow親に設定する必要がありWindowます。こちらのMSDNドキュメントを参照してください。

于 2010-10-26T19:50:37.273 に答える