【WPF】C# ウィンドウの最小化、最大化のボタンを消す

WPF WPF

ウィンドウサイズの固定化はWindowのプロパティResizeModeをNoReseizeにすればよいのですが、最小化、最大化はできてしまいます。
完全にサイズ固定にしたい場合は、ウィンドウの最小化、最大化ボタンを非表示を消してしまいたいのですが、プロパティの設定だけではだめそうです。今回、最小化、最大化ボタンだけを消したいのでその解決方法を記述しておきます。

Sponsored links
Sponsored links

最小化、最大化ボタンを消す

オーバーライドしたOnSourceInitialized関数でウィンドウハンドルをWindowInteropHelperで取得します。このウィンドウハンドルからWindowのスタイルを取得して、最小化ボタン(WS_MINIMIZEBOX)と最大化ボタン(WS_MAXMIZEBOX)のフラグをOFFにします。
ちなみに、クローズボタンも無効にするにはWS_SYSMENUをOFFにすればOKです。

タイトルとURLをコピーしました