重複の可能性:
終了ハンドラーで「ウィンドウを閉じるボタンがクリックされた (X)」と window.Close() を区別する方法
WPF では、次のように を閉じるさまざまな方法がありますWindow
。
1) Window.Close()
2) ウィンドウ システム メニューから [閉じる] を選択します (左上)
3) ウィンドウ タイトル バーの [X] ボタンをクリックします (右上)
4) キーボード ショートカット: Alt+F4
これらすべてのアクションが WPF イベントをトリガーしますWindow.Closing
これら 2 種類のアクションをどのように区別すればよいでしょうか?
Excel/VBA ではこれが可能です: VBA.VbQueryClose.vbFormCode
vs VBA.VbQueryClose.vbFormControlMenu
.
この関連する質問/回答は、システム メニュー アクションが Windows イベントを生成すると述べていますWM_CLOSE
。おそらく、基になる Windows イベントを WPF から確認する方法があります。