カスタムウィンドウフレームを使用するWPFアプリケーションがあります。私の問題は、Windows7のAeroSnapで最大化されたウィンドウを「スナップ解除」できないことです。
私のウィンドウのプロパティ:
AllowsTransparency
に設定されていますtrue
WindowStyle
に設定されていますNone
ResizeMode
に設定されCanResizeWithGrip
ます。
私は次のようにウィンドウドラッグの動きを処理します:
private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
DragMove();
}
ウィンドウを左、右、上にドッキングして、通常のウィンドウのように動作させることができます(それぞれ、画面の左半分に拡大、画面の右半分に拡大、最大化)。
Aero Snapがどのように機能するかはわかりませんが、奇妙なことに、通常のWPFウィンドウ(非カスタムウィンドウ)は問題なく機能します。問題なく最大化されていれば、スナップを外すことができます。それでは、なぜ上記のプロパティをウィンドウに適用すると、それが壊れるのでしょうか。
これを機能させるために、カスタムWMメッセージ処理を行う必要がある可能性はありますか?