WinUI3项目基于WindowsAppSDK,适用版本是1.3.230502000以上,打开Visual Studio Installer 修改Visual Studio 2022

选择.NET桌面开发中的Windows 应用 SDK C# 模板即可使用!

由于WinUI3的API目前并不完善,并没有WPF和WindowsForms方便,获取系统桌面尺寸的方式比较麻烦,但优势是可以在同一个项目中混合使用UWP,WPF,WinForms,WIN32 API,其实是个混合技术。代码如下:

public async static Task<SizeInt32> GetMonitorSize()
        {

            var monitorSize = new SizeInt32();
            var displayList = await DeviceInformation.FindAllAsync
                              (DisplayMonitor.GetDeviceSelector());

            if (!displayList.Any())
                return monitorSize;

            var monitorInfo = await DisplayMonitor.FromInterfaceIdAsync(displayList[0].Id);
            if (monitorInfo != null)
            {
                monitorSize= monitorInfo.NativeResolutionInRawPixels;
            }
            return monitorSize;
           
        }

 

当然也可以使用其他方法。