使用winforms的元素主机加载时间问题

时间:2010-06-03 04:46:04

标签: wpf wpf-controls

我有一个带有3个WPF控件的元素主机。我将元素主机放在winform上。 当我的应用程序出现时,元素主机需要几秒钟,winform将显示​​为空白屏幕。

如何解决这个问题?任何想法都表示赞赏。基本上,我不想显示空白屏幕,因为它在应用程序出现时看起来很难看。

2 个答案:

答案 0 :(得分:1)

这让我觉得很奇怪。我之前使用过ElementHost,并没有注意到加载子控件有任何严重的延迟。

如果你可以通过用一个简单的TextBox控件替换你的控件来尝试隔离问题,那将会很有帮助。加载需要多长时间?

我怀疑你的控制逻辑实际上有些东西需要很长时间才能完成并延迟控制加载。如果你能弄明白它是什么并加速它或使处理异步(考虑使用Reactive Extensions)那么你至少会摆脱黑屏。分析器(Visual Studio或ANTS)将有助于缩小范围。

答案 1 :(得分:1)

您可以通过加载模型窗口加载和加载来加快加载时间。关闭你的应用程序启动(这只是一个技巧:))

只需使用一个或两个元素主机创建新窗口并添加其子wpf控件。无需实现任何逻辑或设置任何属性,只需添加子控件即可。

然后当应用程序启动时加载模型窗口并关闭(将加载位置设置为远离屏幕边界)。 (如果你想要,你也可以使用原来的窗口。)

然后你的窗口会正常打开。