WPF fenêtre personnalisée: ne peut pas « Détachez » fenêtre maximisée avec Win7 Aero Snap

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

  •  29-09-2019
  •  | 
  •  

Question

J'ai une application WPF qui utilise un cadre de fenêtre personnalisée. Mon problème est que je ne peux pas « Détachez » ma fenêtre maximisée avec Aero Snap dans Windows 7.

Propriétés de ma fenêtre:

  • AllowsTransparency est réglé sur true
  • WindowStyle est réglé sur None
  • ResizeMode est réglé sur CanResizeWithGrip.

I mouvement de traînée de la fenêtre de poignée comme ceci:

private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    DragMove();
}

Je peux amarrer la fenêtre à gauche, à droite, et au sommet, et ont se comporter comme des fenêtres normales (se dilater pour remplir la moitié gauche de l'écran, développez pour remplir la moitié droite de l'écran, maximisée, respectivement).

Je ne sais pas comment fonctionne Aero Snap, mais ce que je trouve étrange est que les fenêtres WPF normales (fenêtres non personnalisées) fonctionnent très bien; Je peux les détachez si elles sont maximisés sans problème. Pourquoi ne puis en appliquant les propriétés ci-dessus à ma pause de fenêtre?

Est-il possible que je dois faire un certain message WM personnalisé manipulation pour faire ce travail?

Était-ce utile?

La solution

J'ai fini juste en utilisant WPF Bibliothèque Intégration Shell de Microsoft. Il gère toute la magie de bas niveau nécessaire pour faire fonctionner Aero Snap.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top