2016-10-07 82 views
-1

我們的Windows應用商店存在問題,它使用WebView從文件系統顯示自定義生成的html。該應用程序是用WPF/Xaml編寫的,因此本機UI組件會根據用戶設置的屏幕縮放比例自動縮放,但嵌入式WebView不支持 - 這意味着在我的筆記本電腦的4k屏幕上,WebView字體極其微小。目前我們必須支持Windows 8.1,因此我們正在編譯該目標 - 這意味着我們嵌入了一個IE11實例。我認爲設置瀏覽器縮放級別可能是一個短期解決方案,但它最終會在主窗口上顯示水平滾動條,這是不行的。W8.1 UWP/Xaml WebView在高DPI屏幕上呈現小圖片

我發現了一個MSDN article,它顯示底層COM組件沒有自動通知它嵌入到的應用程序的高DPI意識。本文將介紹如何通過重寫組件發送的標誌來解決問題。然而,在沿着這條路線走下去的時候,看起來UWP平臺上可用的WebView被抽象得更遠了,而且你不能獲取上述修復工作所需的Document MSHTML對象的實例。

我也注意到這個answer這似乎推斷有Windows 8.1應用程序和Windows 10操作系統之間的比例因子衝突,但我無法找到關於該特定問題的更多信息。

任何建議將是最受歡迎的,因爲我無法想象我們正在做的是那麼罕見。

由於

+0

我會使用最新的SDK/OS進行調查。 –

回答

0

原來這是由多種因素的組合引起的:

  1. 我們使用自舉3,其設置根HTML字體大小爲10px,並且如IE web視圖(即使邊緣)使用字體大小調整來處理DPI縮放,設置基本字體大小會禁用此功能。
  2. 針對Windows 8.1的Windows應用程序的最大縮放比例爲200%(因爲這是當時支持的最大比例)。但是,Windows 10將此限制提高到iirc 400%。我的筆記本電腦屏幕設置爲250%,因爲它是4k,但是當我將Windows 8.1應用程序放到它上面時,它們的最大值是200%,所以這裏的尺寸也略微減小。

我仍然認爲這是Windows Store WebView控件中的一個相當嚴重的問題,就好像我在標準邊緣打開引導站點一樣,這很好。即使我對IE11做了同樣的處理,即使IE11本身完全不處理DPI,頁面內容也可以正常工作。