我的项目需要一个后台线程来启动在 Winform 中托管的 WPF 控件的创建。创建所述控件必须在前台线程上执行,这非常昂贵并且会导致 UI 挂起 1 到 2.5 秒(取决于这是否是第一次创建控件)。
是否可以通过后台线程完成任何预创建优化以减少 UI 线程完成的工作量?
最佳答案
我假设您使用 ElementHost 控件在 winforms 应用程序中托管 Wpf 控件?我认为您看到的开销确实是必要的,因为呈现 wpf 元素的设备上下文被编码到 winforms 应用程序并且不存在于普通的 wpf 应用程序中。我的经验是,当你打开一个上面有 ElementHost 的窗体时,第二次会快很多,当然这取决于你打开时在做什么。
关于c# - Winforms WPF 互操作性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424573/