2010-06-03 55 views
5

我有一個具有3個WPF控件的元素主機。我將元素主機放在一個winform上。 當我的應用程序即將到來時,元素主機需要幾秒鐘的時間,並且winform將顯示​​爲空白屏幕。winforms元素主機加載時間問題

如何解決這個問題?任何想法都表示讚賞。基本上,我不想顯示空白屏幕,因爲當應用程序出現時它看起來很難看。

回答

1

這讓我覺得很奇怪。我之前使用過一個ElementHost,並沒有注意到加載子控件的任何嚴重延遲。

如果您可以嘗試通過用簡單的純文本框控件替換您的控件來隔離問題,將會有所幫助。那麼加載需要多長時間?

我懷疑是你的控制邏輯中有一些東西需要很長時間才能完成並延遲控制加載。如果你能弄清楚它是什麼,並加速或使處理異步(考慮使用Reactive Extensions),那麼你至少會擺脫黑屏。一個分析器(Visual Studio或ANTS)可以幫助我們縮小這個差距。

1

您可以加快通過加載模型窗口負荷&您的加載時間關閉應用程序啓動(這只是一招:))

只需用一個或兩個要素主機創建新的窗口,並增加他們的孩子WPF控制。不需要實現任何邏輯或設置任何屬性,只需添加子控件即可。

然後當應用程序啓動加載模型窗口並關閉(將加載位置設置爲遠離屏幕邊界)。 (如果你想要你也可以使用你的原始窗口。)

然後你的窗口將正常打開。