.NET 6 + Avalonia(C#)如何获取Windows主屏幕尺寸?
在Avalonia(.NET 6)中获取Windows主屏幕宽度的方法
WPF的System.Windows.SystemParameters.PrimaryScreenWidth无法在Avalonia中使用,因为Avalonia是跨平台UI框架,不依赖WPF的Windows专属API。你可以通过Avalonia内置的Screens类来获取主屏幕尺寸:
- 先引用
Avalonia.Controls命名空间 - 通过
Screens.Primary获取主屏幕实例,读取对应宽度属性:
using Avalonia.Controls; // 获取主屏幕完整宽度(包含任务栏等系统UI区域) double fullScreenWidth = Screens.Primary.Bounds.Width; // 获取主屏幕工作区宽度(排除任务栏、dock等系统UI,仅应用可用区域) double workingAreaWidth = Screens.Primary.WorkingArea.Width;
注意事项
如果在非UI线程中调用,需要通过UI线程调度器执行,避免线程安全问题:
using Avalonia.Threading; double fullWidth = Dispatcher.UIThread.Invoke(() => Screens.Primary.Bounds.Width);
内容的提问来源于stack exchange,提问作者Miljac
相关产品推荐
相关产品推荐

