Heim >Backend-Entwicklung >C++ >Wie kann ich die genauen Abmessungen des aktuellen Bildschirms in einer WPF-Anwendung ermitteln?

Wie kann ich die genauen Abmessungen des aktuellen Bildschirms in einer WPF-Anwendung ermitteln?

Susan Sarandon
Susan SarandonOriginal
2025-01-05 02:30:09415Durchsuche

How Can I Get the Exact Dimensions of the Current Screen in a WPF Application?

Ermitteln der Abmessungen des aktuellen Bildschirms in WPF

In WPF verlassen sich Entwickler häufig auf SystemParameters.PrimaryScreenWidth und SystemParameters.PrimaryScreenHeight, um die Größe der primären Anzeige zu bestimmen. Dieser Ansatz greift jedoch bei Konfigurationen mit mehreren Bildschirmen zu kurz, bei denen Benutzer möglicherweise nicht den primären Bildschirm nutzen und nicht alle Bildschirme die gleiche Auflösung haben.

Um dieses Problem zu beheben, muss der Anwendungsbereich über den primären Bildschirm hinaus erweitert werden. Eine mögliche Lösung besteht darin, die Screen-Klasse von System.Windows.Forms in eine benutzerdefinierte Klasse zu packen, die auf WPF zugeschnitten ist.

Die WpfScreen-Klasse

Die WpfScreen-Klasse bietet einen umfassenden Satz von Methoden zum Abrufen der Dimensionen des aktuellen Bildschirms, unabhängig davon, ob über XAML oder Code darauf zugegriffen wird. Schauen wir uns seine Fähigkeiten genauer an:

  • AllScreens(): Diese statische Methode gibt eine Sammlung von WpfScreen-Instanzen zurück, die alle verfügbaren Bildschirme im System darstellen.
  • GetScreenFrom(Fensterfenster): Verwenden Sie dies Methode zum Abrufen des WpfScreen-Objekts, das einer bestimmten Window-Instanz zugeordnet ist.
  • GetScreenFrom(Point point): Durch Bereitstellung eines Punktes innerhalb der Anwendung, Diese Methode bestimmt, zu welchem ​​Bildschirm sie gehört, und gibt das entsprechende WpfScreen-Objekt zurück.
  • Primär: Diese statische Eigenschaft bietet schnellen Zugriff auf das WpfScreen-Objekt für die primäre Anzeige.

Abgesehen davon Methoden bietet die WpfScreen-Klasse die folgenden Eigenschaften:

  • DeviceBounds: Repräsentiert den rechteckigen Bereich des gesamten Bildschirms, einschließlich der Taskleiste und alle anderen Elemente, die in seine Grenzen eingreifen.
  • WorkingArea: Ähnlich wie DeviceBounds, jedoch ohne Bereiche, die von der Taskleiste und anderen Elementen eingenommen werden, die den Anwendungsinhalt einschränken könnten.
  • IsPrimary: Gibt an, ob der Bildschirm vorhanden ist die primäre Anzeige.
  • Gerätename: Stellt den mit dem verknüpften Gerätenamen bereit screen.

Implementierung

Die Implementierung von WpfScreen nutzt die System.Windows.Forms.Screen-Klasse, um Informationen über die mit dem System verbundenen physischen Displays zu sammeln. Anschließend werden diese Details auf eine Weise verpackt, die mit WPF-Anwendungen kompatibel ist, was eine nahtlose Integration mit verschiedenen Aspekten der Benutzeroberfläche ermöglicht.

Durch die Verwendung der WpfScreen-Klasse können Entwickler unabhängig davon mühelos die Abmessungen und Eigenschaften des aktuellen Bildschirms bestimmen davon, ob sie mehrere Displays verwenden oder nicht. Dies ermöglicht es ihnen, adaptive Benutzeroberflächen zu entwerfen, die auf unterschiedliche Bildschirmauflösungen und -konfigurationen abgestimmt sind.

Das obige ist der detaillierte Inhalt vonWie kann ich die genauen Abmessungen des aktuellen Bildschirms in einer WPF-Anwendung ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn