Maison >développement back-end >C++ >Comment obtenir les dimensions de l'écran actuel dans WPF ?

Comment obtenir les dimensions de l'écran actuel dans WPF ?

DDD
DDDoriginal
2025-01-05 13:11:40625parcourir

How to Get the Current Screen's Dimensions in WPF?

Comment déterminer les dimensions de l'écran actuel dans WPF

Dans les environnements multi-moniteurs, l'écran principal n'est pas toujours celui utilisé ou celui avec le plus grand écran résolution. Il est donc essentiel de pouvoir récupérer la taille de l'écran actuel qui vous intéresse.

Méthode WPF : Utilisation de SystemParameters

SystemParameters permet d'accéder directement aux dimensions de l'écran principal :

double primaryScreenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
double primaryScreenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;

Prise en charge multi-écran : utilisation de WpfScreen Wrapper

Pour les scénarios avec plusieurs écrans avec des résolutions variables, la classe WpfScreen offre une approche plus flexible :

private WpfScreen CurrentScreen
{
    get { return WpfScreen.GetScreenFrom(this); }
}

public double ScreenWidth => CurrentScreen.DeviceBounds.Width;
public double ScreenHeight => CurrentScreen.DeviceBounds.Height;

La classe WpfScreen fournit des méthodes pour :

  • Obtenir les dimensions de tous les écrans actifs
  • Obtenir l'écran associé à une fenêtre spécifique
  • Déterminer si l'écran actuel est l'écran principal display

Utilisation du Wrapper en XAML

La classe WpfScreen peut être utilisée en XAML via les propriétés attachées :

<Window>
    <Window.AttachedProperties>
        <my:WpfScreenAttachedProperties.WpfScreen>
            <my:WpfScreen DeviceBounds="{Binding ElementName=myCtrl, Path=ScreenWidth, Mode=OneWay}"/>
        </my:WpfScreenAttachedProperties.WpfScreen>
    </Window.AttachedProperties>
    ...
</Window>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn