WPF finestra personalizzata: non può “Sbloccare” finestra ingrandita con Win7 Aero Snap

StackOverflow https://stackoverflow.com/questions/3924129

  •  29-09-2019
  •  | 
  •  

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 su true
  • WindowStyle è impostato su None
  • ResizeMode è impostato su CanResizeWithGrip.

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top