我想从我的UWP中的后台任务访问DisplayInformation
类,该任务获取图像并将其从其原始分辨率调整为用户屏幕的大小,以便可以设置作为壁纸。
但是,当我尝试使用DisplayInformation.GetForCurrentView()
时,会抛出异常,说必须从与CoreWindow
关联的线程调用该方法。我怎么能避免这个?
只要能够以原始像素为用户屏幕提供完整的宽度和高度,任何解决方案都能正常工作。
答案 0 :(得分:4)
此API需要CoreWindow
,因为您的系统上可能有多个监视器,并且需要知道要选择哪个监视器(它选择当前显示该窗口的监视器)。最佳解决方案是在前台应用程序运行时查询属性,然后保存它们以供以后使用。 (当然,如果用户有两个或更多不同尺寸的显示器并且您选择“错误”显示器,或者他们升级显示器等,这将是不完美的,但这是您可以做的最好的。)