WPF finestra personalizzata: non può “Sbloccare” finestra ingrandita con Win7 Aero Snap
Domanda
Ho un'applicazione WPF che utilizza un telaio di una finestra personalizzata. Il mio problema è che non posso "Sbloccare" la mia finestra massimizzata con Aero Snap in Windows 7.
Proprietà della mia finestra:
-
AllowsTransparency
è impostato sutrue
-
WindowStyle
è impostato suNone
-
ResizeMode
è impostato suCanResizeWithGrip
.
I finestra maniglia movimento di trascinamento in questo modo:
private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
DragMove();
}
I può ancorare la finestra a sinistra, a destra, e verso l'alto, e lo hanno si comportano come finestre normali (espanderà per riempire la metà sinistra dello schermo, espanderà per riempire metà destra dello schermo, ingrandita, rispettivamente).
Non sono sicuro di come funziona Aero Snap, ma quello che trovo strano è che le normali finestre WPF (Windows non-custom) funzionano bene; Posso unsnap loro se sono massimizzati senza un problema. Perché quindi applicando le proprietà di cui sopra per la mia pausa finestra che?
E 'possibile che debba fare qualche messaggio WM personalizzato movimentazione per fare questo lavoro?
Soluzione
Ho finito semplicemente utilizzando il WPF Shell Integrazione Biblioteca da Microsoft. Gestisce tutta la magia di basso livello necessario per far funzionare Aero Snap.