Wie? WPF-Fenster - Maximiert, Keine Größenänderung / Bewegung

8

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 =)

    
Thieres Tembra 23.07.2010, 13:08
quelle

4 Antworten

12

Es ist notwendig, WindowState="Maximized" ResizeMode="NoResize" in xaml Ihres Fensters zu schreiben:

%Vor%     
StepUp 28.03.2013 12:44
quelle
2
%Vor%     
Bindya 26.01.2013 08:01
quelle
1

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.

    
Marko 31.07.2010 20:23
quelle
0
%Vor%

WindowStyle="None" tun, was Sie wollen, aber ... Sie verlieren den Fenstertitel, schließen Knopf und haben andere Probleme.

Besuchen Sie WindowStyle="None" einige Probleme

    
Henryk Budzinski 11.01.2016 13:18
quelle