所以在一个普通的 .net 程序集中我可以访问SystemInformation.VirtualScreen
. 这将如何在 PCL 中完成?
问问题
552 次
1 回答
2
这就是我要做的:
IVirtualScreen
在你的 PCL 项目中引入一个抽象- 在您的桌面类库(它引用 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 实现,但是否存在这样做的价值?
于 2013-01-27T07:41:07.277 回答