Ich versuche, ein WPF-Fenster zu erstellen, das bereits maximiert ist, ohne Größenänderung / Verschiebung (im Systemmenü oder im Rahmen). Es sollte die ganze Zeit maximiert werden, außer wenn der Benutzer es minimiert.
Ich habe versucht, WindowState="Maximized" und ResizeMode="CanMinimize" zu setzen, aber wenn das Fenster geöffnet wird, deckt es die Taskleiste ab (ich will es nicht).
Ich habe einen Haken bei WndProc, der SC_MOVE und SC_SIZE abbricht. Ich kann dieses Steuerelement auch mit Bedingungen in WndProc wie "ob der Befehl wiederhergestellt wird und minimiert wird, Wiederherstellen, sonst, Block" und so weiter machen.
Aber mein Punkt ist, wenn wir einen anderen Weg haben, es zu machen. Danke für die Leute lesen =)
Wie Terger darauf hingewiesen hat, ist dies auf rein WPF-Art nicht möglich. Sie müssen P / Invoke verwenden. Warum, warum das Fenster die Taskleiste beim Öffnen abdeckt, denke ich, dass Sie einige erforderliche Anrufe verpfuschen, indem Sie SC_MOVE und SC_SIZE abbrechen. Vielleicht sollten Sie diese Anrufe nach dem Laden des Fensters abbrechen.
WindowStyle="None" tun, was Sie wollen, aber ... Sie verlieren den Fenstertitel, schließen Knopf und haben andere Probleme.
Besuchen Sie WindowStyle="None" einige Probleme
Tags und Links wpf window window-resize maximize-window