我有一个使用winforms和WPF的C#程序,在高DPI环境下无法正常工作。如果我从解决方案中删除所有WPF项目并运行它,它会正常缩放,但只要我再添加任何wpf(必需的功能),缩放就会失败,UI变得无法使用。
这似乎是先前SO问题的完全相同问题:混合WinForms和WPF应用程序中的.NET 3.5 DPI缩放和在DPI下正确缩放WinForms的问题 我按照这些问题上的建议尝试添加了清单文件和提供的dpi感知代码。
我还将项目升级到.net framework 4.6.1(从4.0),并包括app.config设置:
当我进入任何WPF子窗体或插件,或返回到主屏幕时,它们会正确呈现。只有winforms功能无法正确缩放。
有人有任何想法如何在高DPI下正常缩放混合winforms / WPF项目吗?
提前感谢您。
这似乎是先前SO问题的完全相同问题:混合WinForms和WPF应用程序中的.NET 3.5 DPI缩放和在DPI下正确缩放WinForms的问题 我按照这些问题上的建议尝试添加了清单文件和提供的dpi感知代码。
我还将项目升级到.net framework 4.6.1(从4.0),并包括app.config设置:
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
这确实影响了程序的主外壳(因此不再以小窗口加载所有控件挤在一起,而是以最大化打开主程序窗口并正常显示)。但是,当我从主窗口进入任何winforms子窗体或插件时,缩放就会失败。当我进入任何WPF子窗体或插件,或返回到主屏幕时,它们会正确呈现。只有winforms功能无法正确缩放。
有人有任何想法如何在高DPI下正常缩放混合winforms / WPF项目吗?
提前感谢您。