因此,在正常的.net程序集中,我可以访问SystemInformation.VirtualScreen
。如何从PCL中完成这项工作?
答案 0 :(得分:2)
这就是我要做的事情:
IVirtualScreen
的抽象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,这样做有价值吗?