我想從我的UWP中的後臺任務訪問DisplayInformation
類,該任務將圖像從原始分辨率調整爲用戶屏幕大小,以便可以將其設置爲壁紙。UWP中的DisplayInformation後臺任務
但是,當我嘗試使用DisplayInformation.GetForCurrentView()
時,會引發異常,說該方法必須從與CoreWindow
關聯的線程中調用。我怎樣才能避免這種情況?
任何解決方案都可以工作,只要它能以原始像素爲單位給出用戶屏幕的完整寬度和高度。
我想從我的UWP中的後臺任務訪問DisplayInformation
類,該任務將圖像從原始分辨率調整爲用戶屏幕大小,以便可以將其設置爲壁紙。UWP中的DisplayInformation後臺任務
但是,當我嘗試使用DisplayInformation.GetForCurrentView()
時,會引發異常,說該方法必須從與CoreWindow
關聯的線程中調用。我怎樣才能避免這種情況?
任何解決方案都可以工作,只要它能以原始像素爲單位給出用戶屏幕的完整寬度和高度。
此API需要CoreWindow
,因爲您的系統上可能有多個顯示器,並且需要知道選擇哪一個(它選擇當前顯示窗口的顯示器)。最好的解決方案是在前臺應用程序運行時查詢屬性,然後保存它們以備後用。 (當然,如果用戶有兩個或更多不同大小的顯示器,並且你選擇了「錯誤」的顯示器,或者他們升級了顯示器等,但這是你能做到的最好的),這並不是完美的。
「用戶的屏幕」不明確。可能有多個屏幕(PC多用戶,手機連續)。可以有無數的屏幕(HoloLens)。這就是爲什麼你需要一個核心窗口。所以系統知道你在詢問哪個屏幕。 –