如何从可移植类库中获取屏幕大小
本文关键字:获取 屏幕 类库 可移植 | 更新日期: 2023-09-27 17:56:06
所以在普通的.net程序集中,我可以访问SystemInformation.VirtualScreen
。如何在 PCL 中完成此操作?
这就是我要做的:
- 在 PCL 项目中引入
IVirtualScreen
抽象 - 在桌面类库(引用 PCL 项目)中,提供一个适配器类,以将
SystemInformation.VirtualScreen
映射到 IVirtualScreen 接口。 -
引导桌面应用程序时,请将特定于平台的版本注册到 IoC 容器。
// in your PCL project public interface IVirtualScreen { Rectangle Current { get; } // in your desktop project public interface DesktopScreen : IVirtualScreen { public Rectangle Current { get { return System.Windows.Forms.SystemInformation.VirtualScreen; } }
但这引出了一个问题:这是您在 PCL 项目中需要的东西吗?
由于UI技术(WinForms/WPF/SL/WP7/WP8/WinRT)之间的根本差异,您最终可能会做很多特定于平台的事情,虽然您可以为移动应用程序插入不同的IVirtualScreen实现,但这样做有价值吗?