C# 刷新WPF主机中的winforms控件时出现问题?

C# 刷新WPF主机中的winforms控件时出现问题?,c#,wpf,winforms,user-controls,prism,C#,Wpf,Winforms,User Controls,Prism,我一直在寻找Prism来承载一个旧的Winforms应用程序。这正用于我们公司从Winforms->WPF的迁移。然而,我遇到了一些问题 简言之,我有一个项目概述如下: 项目大纲 DataManager WPF项目 初始化时向区域管理器注册视图并引用旧winforms项目的MEF模块 -视图——它包含一个WPF UserControl,并且有一个WindowsFormsHost,指向旧winforms项目的主视图 DataManager Winforms项目 包含需要使用视图初始化的旧模块 主机

我一直在寻找Prism来承载一个旧的Winforms应用程序。这正用于我们公司从Winforms->WPF的迁移。然而,我遇到了一些问题

简言之,我有一个项目概述如下:

项目大纲 DataManager WPF项目

初始化时向区域管理器注册视图并引用旧winforms项目的MEF模块 -视图——它包含一个WPF UserControl,并且有一个WindowsFormsHost,指向旧winforms项目的主视图

DataManager Winforms项目 包含需要使用视图初始化的旧模块

主机 包含shell和引导程序 -Shell具有WPF DataManager视图被注入的主区域

所以我的问题如下。旧的Winforms视图通过新的WPF视图在WPF shell中正确加载。但是,在此之后添加到视图中的任何内容都不会得到更新。我试着在屏幕上添加一些按钮。我还尝试清除所有的控件

环顾四周,我同意倾听大小更改事件并调用WPFHost上的Child.Refresh的建议,但这仍然不起作用

这是一个WPF特定的问题,如这里所讨论的:

或者是因为没有正确刷新区域管理器中的视图而导致的问题

这两个似乎都不管用

也许我需要在winforms控件本身中触发重画或类似的操作? 编辑:更新UI后调用Refresh()无法解决此问题


编辑2:在旧的Winforms(.net 2.0)应用程序中也尝试了此操作,结果显示正确

好的,我添加了一个带有一些控件的标准winforms项目,而不是我正在使用的旧项目,它工作正常。在旧版winforms项目的初始化过程中可能缺少一些步骤。

好的,我添加了一个带有一些控件的标准winforms项目,而不是我正在使用的旧版项目,它工作正常。在旧版winforms项目的初始化过程中可能缺少一些步骤。