UWP后台任务中的DisplayInformation

时间:2016-11-20 03:01:21

标签: c# uwp windows-10

我想从我的UWP中的后台任务访问DisplayInformation类,该任务获取图像并将其从其原始分辨率调整为用户屏幕的大小,以便可以设置作为壁纸。

但是,当我尝试使用DisplayInformation.GetForCurrentView()时,会抛出异常,说必须从与CoreWindow关联的线程调用该方法。我怎么能避免这个?

只要能够以原始像素为用户屏幕提供完整的宽度和高度,任何解决方案都能正常工作。

1 个答案:

答案 0 :(得分:4)

此API需要CoreWindow,因为您的系统上可能有多个监视器,并且需要知道要选择哪个监视器(它选择当前显示该窗口的监视器)。最佳解决方案是在前台应用程序运行时查询属性,然后保存它们以供以后使用。 (当然,如果用户有两个或更多不同尺寸的显示器并且您选择“错误”显示器,或者他们升级显示器等,这将是不完美的,但这是您可以做的最好的。)