Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何正确扩展混合(WPF/WinForms)应用程序_C#_Wpf_Winforms_Hybrid - Fatal编程技术网

C# 如何正确扩展混合(WPF/WinForms)应用程序

C# 如何正确扩展混合(WPF/WinForms)应用程序,c#,wpf,winforms,hybrid,C#,Wpf,Winforms,Hybrid,我目前正在为现有的第三部分系统开发一个插件。该插件公开了一个GUI,该GUI由插件框架定义为WPF。但是,我必须集成一个隐藏在库中的遗留WinForms控件(没有可用的源代码) 使用WinFormsHost效果很好,只要显示比例设置为100%。如果设置不同,我的嵌入式WinForms控件会变得笨拙,看起来不再好 如果我创建一个WinForms窗口并嵌入控件,那么缩放就可以了 如果我从WPF应用程序/窗口创建同一个窗口,并使用HwndHost将WinForms窗口推送到WPF窗口中,则缩放再次变

我目前正在为现有的第三部分系统开发一个插件。该插件公开了一个GUI,该GUI由插件框架定义为WPF。但是,我必须集成一个隐藏在库中的遗留WinForms控件(没有可用的源代码)

使用WinFormsHost效果很好,只要显示比例设置为100%。如果设置不同,我的嵌入式WinForms控件会变得笨拙,看起来不再好

  • 如果我创建一个WinForms窗口并嵌入控件,那么缩放就可以了
  • 如果我从WPF应用程序/窗口创建同一个窗口,并使用HwndHost将WinForms窗口推送到WPF窗口中,则缩放再次变得笨拙

    似乎只有在“WPF”环境之外的单独进程中启动WinForms窗口时,缩放才是正确的。 我应该能够捕获单独的进程窗口并获得适当的扩展,但是到遗留窗口的通信可能会变得棘手

    有没有一种方法可以在不绕道的情况下通过单独的流程实现适当的缩放?我知道类似的问题也被贴在这里,但到目前为止我还没有找到我想要的

    提前谢谢


Windows用于不同应用程序的缩放模式明显不同。遗憾的是,我不是这方面的专家,所以我所能做的就是建议用谷歌搜索“Windows缩放模式”之类的东西。请阅读这里的注释: