我想从我的UWP中的后台任务访问DisplayInformation
类,该任务将图像从原始分辨率调整为用户屏幕大小,以便可以将其设置为壁纸。UWP中的DisplayInformation后台任务
但是,当我尝试使用DisplayInformation.GetForCurrentView()
时,会引发异常,说该方法必须从与CoreWindow
关联的线程中调用。我怎样才能避免这种情况?
任何解决方案都可以工作,只要它能以原始像素为单位给出用户屏幕的完整宽度和高度。
我想从我的UWP中的后台任务访问DisplayInformation
类,该任务将图像从原始分辨率调整为用户屏幕大小,以便可以将其设置为壁纸。UWP中的DisplayInformation后台任务
但是,当我尝试使用DisplayInformation.GetForCurrentView()
时,会引发异常,说该方法必须从与CoreWindow
关联的线程中调用。我怎样才能避免这种情况?
任何解决方案都可以工作,只要它能以原始像素为单位给出用户屏幕的完整宽度和高度。
此API需要CoreWindow
,因为您的系统上可能有多个显示器,并且需要知道选择哪一个(它选择当前显示窗口的显示器)。最好的解决方案是在前台应用程序运行时查询属性,然后保存它们以备后用。 (当然,如果用户有两个或更多不同大小的显示器,并且你选择了“错误”的显示器,或者他们升级了显示器等,但这是你能做到的最好的),这并不是完美的。
“用户的屏幕”不明确。可能有多个屏幕(PC多用户,手机连续)。可以有无数的屏幕(HoloLens)。这就是为什么你需要一个核心窗口。所以系统知道你在询问哪个屏幕。 –