2010-11-05 69 views
0

我有一個WPF應用程序 - 使用MVVM設計模式。呈現UIElement導致應用程序掛起幾秒鐘

在主視圖中,有一個ContentPresenter,它綁定到相應ViewModel中的屬性。對於與該屬性關聯的數據類型,我有類型引用DataTemplate。實質上,根據用戶執行的某個操作,ContentPresenter將顯示來自特定數據模板的數據。在數據模板中,我有DevExpress'GridControl。它很爛,我討厭它,但由於公司的標準,我必須使用它。我的主要問題在於,由於此GridControl,UI需要幾秒鐘才能呈現給數據模板。有什麼我可以做的,以減輕這一點?我想顯示一個「請稍等」的進度指示器,但即使卡住了幾秒鐘...

請幫忙。

回答

0

您是否正在爲此視圖加載數據異步?

如果顯示視圖時數據尚未加載,則可以嘗試延遲加載直到網格可見,加載數據並最終將代碼隱藏的網格綁定設置爲如下形式:

private delegate void LoadDelegate(); 
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new LoadDelegate(LoadOrders)); 

這會給gui一個在加載開始之前展現自我的機會。

HTH。

相關問題