You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 + Avalonia(C#)如何获取Windows主屏幕尺寸?

在Avalonia(.NET 6)中获取Windows主屏幕宽度的方法

WPF的System.Windows.SystemParameters.PrimaryScreenWidth无法在Avalonia中使用,因为Avalonia是跨平台UI框架,不依赖WPF的Windows专属API。你可以通过Avalonia内置的Screens类来获取主屏幕尺寸:

  1. 先引用Avalonia.Controls命名空间
  2. 通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:46:56