1

WPF ウィンドウを作成しました。ShowDialog() を使用して表示したい場合と、Show() だけを使用した場合があります。

ShowDialog() の場合、すべて正常に動作する DialogResult を設定したいのですが、Show() を使用してウィンドウを起動し、DialogResult を設定すると、例外が発生します

DialogResult can be set only after Window is created and shown as dialog. 

DialogResult の設定に条件を設定できるように、ウィンドウがどのように起動されたかを判断するにはどうすればよいですか?

4

2 に答える 2

1

複数の解決策が考えられますが、そのうちの 1 つは ShowDialog() および show() メソッドをオーバーライドできるため、パラメーターを送信してどの方法で呼び出されたかを判別できます。または、クラスにブール値フラグを設定するだけです。

于 2015-05-12T15:03:14.727 に答える
-1

子ダイアログの Owner プロパティを確認します。Show() が使用された場合、子ウィンドウの所有者は自動的に設定されませんが、ShowDialog() を使用すると設定されます。

于 2015-05-12T15:00:23.373 に答える