呼び出しウィンドウから ShowDialog() を使用して WPF ウィンドウを表示します。ウィンドウが開き、予想どおりモーダルです。ただし、ダイアログ ウィンドウの [OK] ボタンと [キャンセル] ボタンのクリック イベントで、それぞれ this.DialogResult = true (または false) を設定しましたが、値が設定されません。ウィンドウは期待どおりに閉じますが、DialogResult はまだ null です。
これは WPF のバグですか? または、DialogResult プロパティを設定できないのに例外がスローされない理由はありますか? ウィンドウはブラウザでホストされていません。
呼び出しウィンドウのコード:
Window2 win = new Window2();
bool? result = win.ShowDialog();
if (result.HasValue && result.Value) {
//never gets here because result is always null
}
ダイアログ ウィンドウのコード:
this.DialogResult = true;