Wie wird der Speicherort des WPF-Fensters in der unteren rechten Ecke des Desktops festgelegt?
Möchte ich zeigen, dass mein Fenster auf der Oberseite des TaskBar
's clock, wenn der windows gestartet wird.
Wie finde ich die Rechte untere Ecke, wo sich mein desktop?
Verwende ich diesen code, der funktioniert gut in windows forms app aber funktioniert nicht richtig in WPF:
var desktopWorkingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
this.Left = desktopWorkingArea.Right - this.Width;
this.Top = desktopWorkingArea.Bottom - this.Height;
InformationsquelleAutor der Frage VirtualWorld | 2011-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser code funktioniert für mich in WPF sowohl mit der Anzeige 100% und 125%
In kurzen benutze ich
System.Windows.SystemParameters.WorkArea
statt
System.Windows.Forms.Screen.PrimaryScreen.WorkingArea
InformationsquelleAutor der Antwort Klaus78
Zugriff auf den desktop Rechteck, könnten Sie die Screen-Klasse -
Screen.PrimaryScreen.WorkingArea
Eigenschaft ist das Rechteck von Ihrem desktop.Ihre WPF-Fenster hat
Top
undLeft
Eigenschaften sowieWidth
undHeight
so können Sie diese Eigenschaften festlegen, relativ zu der desktop-Position.InformationsquelleAutor der Antwort Amittai Shapira
Können Sie das Fenster
SizeChanged
Veranstaltung stattLoaded
wenn Sie möchten, dass das Fenster zu bleiben in der Ecke, wenn sich seine Größe ändert. Dies ist besonders praktisch, wenn die Fenster hatWindow.SizeToContent
auf einen Wert gesetzt, alsSizeToContent.Manual
; in diesem Fall passen sich die Inhalte während des Aufenthalts in der Ecke.Beachten Sie auch, dass Sie sollten subtrahieren
ActualWidth
undActualHeight
(stattWidth
undHeight
wie gezeigt, in einigen anderen Antworten) zu handhaben, die möglichen Situationen, zum Beispiel das Umschalten zwischenSizeToContent
Modi zur Laufzeit.InformationsquelleAutor der Antwort Glenn Slayden
Mein code:
InformationsquelleAutor der Antwort Cyclion
Löste ich dieses problem mit einem neuen Fenster mit einem label namens MessageDisplay. Der code begleitet das Fenster war wie folgt:
Für meine Anwendung, die Einstellung von oben und Links versetzt in diesem Fenster unter dem Menü auf das Hauptfenster (übergeben DisplayMessage in der ersten Parameters);
InformationsquelleAutor der Antwort George Hahn
Diese oben genannten Lösungen nicht ganz der Arbeit für mein Fenster - es war zu niedrig und der untere Teil der Fenster unter der Taskleiste klicken und unter den desktop-workspace. Ich brauchte, um die position nach der Fenster-Inhalt ergangen:
Auch ein Teil der Rahmen war aus der Sicht, also musste ich passen 5. Nicht sicher, warum dies erforderlich ist, in meiner situation.
InformationsquelleAutor der Antwort PIntag