WebView2在4K显示器上显示异常的问题求助
4K显示器下WebView2组件显示异常求助
我开发的Windows应用在解决多DPI设置下的显示问题后,仅在4K显示器上出现显示异常,异常截图如下:
我已做以下尝试但均未解决问题:
- 在app.manifest中启用PerMonitorV2
- 尝试窗体所有AutoScale设置
- 添加gdiScaling配置
- 试过网上几乎所有相关方案
我期望解决WebView2组件在4K显示器上的显示问题,相关代码和配置如下:
WebView2及容器控件代码
webView = new WebView2(); webView.Visible = false; webView.Margin = new Padding(0); webView.Padding = new Padding(0); webView.Size = new Size(Width, 0); webView.AllowExternalDrop = false; webView.BackColor = BackgroundColor; webView.DefaultBackgroundColor = BackgroundColor; await webView.EnsureCoreWebView2Async(); webView.NavigateToString(text); fContainer = new FlowLayoutPanel(); fContainer.FlowDirection = FlowDirection.LeftToRight; fContainer.Size = new Size(Width, Height - (fTitle.Bottom - fTitle.Top) - (fActions.Bottom - fActions.Top)); fContainer.BackColor = ApplicationFramework.FORM_BACK_COLOR; fContainer.Padding = new Padding(0); fContainer.Margin = new Padding(0); fContainer.WrapContents = false; fContainer.AutoSize = false; fContainer.AutoScroll = false; fMain.Controls.Add(fContainer); fContent = new FlowLayoutPanel(); fContent.BackColor = ApplicationFramework.FORM_BACK_COLOR; fContent.FlowDirection = FlowDirection.TopDown; fContent.Size = new Size(Width - (HasMenu ?ApplicationFramework.MENU_WIDTH : 0), Height - (fTitle.Bottom - fTitle.Top) - (fActions.Bottom - fActions.Top)); fContent.WrapContents = false; fContent.Padding = new Padding(0, ApplicationFramework.PADDING, 0, 0); fContent.Margin = new Padding(0); fContent.AutoScroll = true; fContent.Controls.Add(webView);
app.manifest配置
<application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2,PerMonitor</dpiAwareness> <!-- DpiUnawareGdiScaled --> <gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling> </windowsSettings> </application>
内容的提问来源于stack exchange,提问作者Dzio
相关产品推荐
相关产品推荐

