c# - Winforms WPF 互操作性能

标签 c# .net wpf winforms interop

我的项目需要一个后台线程来启动在 Winform 中托管的 WPF 控件的创建。创建所述控件必须在前台线程上执行,这非常昂贵并且会导致 UI 挂起 1 到 2.5 秒(取决于这是否是第一次创建控件)。

是否可以通过后台线程完成任何预创建优化以减少 UI 线程完成的工作量?

最佳答案

我假设您使用 ElementHost 控件在 winforms 应用程序中托管 Wpf 控件?我认为您看到的开销确实是必要的,因为呈现 wpf 元素的设备上下文被编码到 winforms 应用程序并且不存在于普通的 wpf 应用程序中。我的经验是,当你打开一个上面有 ElementHost 的窗体时,第二次会快很多,当然这取决于你打开时在做什么。

关于c# - Winforms WPF 互操作性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424573/

相关文章:

c# - 如何使视频在 Windows Phone 8 App XAML 和 C# 中恢复播放

c# - 在 Powershell Cmdlet 中处理同步的最佳方式

c# - 如何使 DataGridView.Rows.DividerHeight 工作?

c# - 如何使用 WPF 的 UI 自动化将右键单击事件发送到 AutomationElement?

c# - 检查 OpenFileDialog 的可空结果

c# - 在 Windows 中保存临时文件的正确位置?

c# - 具有多个键和每个键的多个值的字典

c# - 为什么 Visual Studio 要求强命名程序集?

c# - DataGrid不会立即更新

c# - WPF 应用程序文件关联 : DefaultIcon is not working