Heim >Backend-Entwicklung >C++ >Wie erhalte ich die aktuelle Bildschirmgröße in WPF bei einem Multi-Screen-Setup?

Wie erhalte ich die aktuelle Bildschirmgröße in WPF bei einem Multi-Screen-Setup?

Susan Sarandon
Susan SarandonOriginal
2025-01-05 16:22:40271Durchsuche

How to Get the Current Screen Size in WPF on a Multi-Screen Setup?

Ermitteln der aktuellen Bildschirmgröße in WPF

Ihre Frage konzentriert sich auf die Bestimmung der Größe des aktuellen Bildschirms in einem Setup mit mehreren Bildschirmen, wo alle Bildschirme verwenden möglicherweise nicht die gleiche Auflösung. Während Sie die Verwendung von SystemParameters.PrimaryScreenWidth und SystemParameters.PrimaryScreenHeight für den primären Bildschirm erwähnt haben, ist es in der Tat wichtig, die Größe des aktuellen Bildschirms zu ermitteln.

Um dieses Problem zu beheben, können Sie WpfScreen verwenden, eine Wrapper-Klasse, die kapselt die Screen-Klasse aus System.Windows.Forms. Diese Klasse bietet mehrere Methoden zum Abrufen bildschirmbezogener Informationen:

  • AllScreens(): Gibt eine Aufzählung von WpfScreen-Objekten zurück, die alle Bildschirme darstellen.
  • GetScreenFrom(Window window): Ruft den WpfScreen für einen angegebenen ab Fenster.
  • GetScreenFrom(Point point): Ruft den WpfScreen für den Bildschirm ab, der einen bestimmten Punkt enthält.
  • Primary: Gibt den primären Bildschirm zurück .

Zusätzlich bietet WpfScreen Folgendes Eigenschaften:

  • DeviceBounds: Die Grenzen des Bildschirms in geräteunabhängigen Pixeln.
  • WorkingArea: Der nutzbare Arbeitsbereich auf dem Bildschirm in Geräteunabhängige Pixel.
  • IsPrimary: Gibt an, ob der Bildschirm die primäre Anzeige ist.
  • Gerätename: Der Gerätename der Anzeige.

Beispielverwendung:

// Get the primary screen's size
var primaryScreen = WpfScreen.Primary;
Console.WriteLine("Primary Screen: {0} x {1}", primaryScreen.DeviceBounds.Width, primaryScreen.DeviceBounds.Height);

// Get the current window's screen size
var currentWindow = new Window();  // Replace this with the actual window object
var currentScreen = WpfScreen.GetScreenFrom(currentWindow);
Console.WriteLine("Current Window's Screen: {0} x {1}", currentScreen.DeviceBounds.Width, currentScreen.DeviceBounds.Height);

// Get the screen containing a specified point
var point = new Point(500, 300);
var containingScreen = WpfScreen.GetScreenFrom(point);
Console.WriteLine("Screen Containing Point: {0} x {1}", containingScreen.DeviceBounds.Width, containingScreen.DeviceBounds.Height);

Das obige ist der detaillierte Inhalt vonWie erhalte ich die aktuelle Bildschirmgröße in WPF bei einem Multi-Screen-Setup?. 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