Wpf ウィンドウで閉じるボタンを非表示にする
WPF モーダル ダイアログでは、ウィンドウの上部にある閉じるボタンを非表示にしたい場合があります。ただし、タイトルバーはそのままにしておきます。ただし、既存の ResizeMode、WindowState、および WindowStyle プロパティはいずれも両方の要件を満たしていません。 P/Invoke を使用したこの問題の解決策は次のとおりです。
まず、ウィンドウ クラスに次の宣言を追加します。
private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [DllImport("user32.dll", SetLastError = true)] private static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
次に、ウィンドウの Loaded イベントに次のコードを追加します。
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
上記を実行します。 code その後、閉じるボタンは非表示になります。これはボタンを非表示にするだけであり、ウィンドウを閉じるショートカット キー (Alt F4) は引き続き機能することに注意してください。ユーザーがウィンドウを閉じないようにする必要がある場合は、Gabe が提案したメソッドを使用して OnClosing イベントをオーバーライドし、Cancel を true に設定します。
以上がWPF モーダル ダイアログで [閉じる] ボタンを非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。