WPF Benutzerdefinierte Fenster: kann nicht „UNSNAP“ maximierten Fenster mit Win7 Aero-Snap

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

  •  29-09-2019
  •  | 
  •  

Frage

Ich habe eine WPF-Anwendung, die eine benutzerdefinierte Fensterrahmen verwendet. Mein Problem ist, dass ich kann nicht "UNSNAP" mein maximierter Fenster mit Aero Snap-in Windows 7.

Eigenschaften von meinem Fenster:

  • AllowsTransparency wird auf true
  • WindowStyle wird auf None
  • ResizeMode wird auf CanResizeWithGrip.

Ich handle Fenster ziehen Bewegung wie folgt:

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

kann ich das Fenster nach links andocken, nach rechts und nach oben, und habe es wie normale Fenster verhalten (expand linke Hälfte des Bildschirms zu füllen, erweitern rechte Hälfte des Bildschirms zu füllen, maximierte, respectively).

Ich bin sicher nicht, wie Aero-Snap funktioniert, aber ich seltsam, was finden, ist, dass normale WPF-Fenster (nicht benutzerdefinierte Fenster) gut funktionieren; Ich kann sie unsnap, wenn sie ohne ein Problem maximiert werden. Warum dann nicht die Anwendung der oben genannten Eigenschaften zu meinem Fenster Pause das?

Ist es möglich, ich brauche einige benutzerdefinierte WM Nachricht tun Umgang mit dieser Arbeit zu machen?

War es hilfreich?

Lösung

landete ich nur die Verwendung von WPF Shell Integration Library von Microsoft . Es kümmert sich um alle der Low-Level-Magie notwendig, um Aero Snap-Arbeit zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top