首页 >后端开发 >C++ >WPF中如何获取当前屏幕的尺寸?

WPF中如何获取当前屏幕的尺寸?

DDD
DDD原创
2025-01-05 13:11:40588浏览

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

如何在 WPF 中确定当前屏幕的尺寸

在多显示器环境中,主屏幕可能并不总是正在使用的屏幕或具有最高尺寸的屏幕解决。因此,能够检索您感兴趣的当前屏幕的尺寸至关重要。

WPF 方法:使用 SystemParameters

SystemParameters 提供对主屏幕尺寸的直接访问:

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

多屏支持:使用 WpfScreen Wrapper

适用于多屏场景对于不同的分辨率,WpfScreen 类提供了更灵活的方法:

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

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

WpfScreen 类提供了以下方法:

  • 获取所有活动屏幕的尺寸
  • 获取与特定窗口关联的屏幕
  • 判断当前屏幕是否为主屏幕显示

在 XAML 中使用包装器

可以通过附加属性在 XAML 中使用 WpfScreen 类:

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

以上是WPF中如何获取当前屏幕的尺寸?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn