在我的WPF應用程序中,我有一個帶有選項卡控件的屏幕。其中五個選項卡包含需要顯示大量行(至少5000)的數據網格。這些表綁定到Part對象的ObservableCollections。每行顯示約20個零件數據。我的問題是,在用戶輸入他們需要的信息並生成數據後,單擊選項卡會導致應用程序掛起30-60秒。在這之後,datagrid最終加載,並且具有正確的虛擬化設置,它們以可接受的速率執行(不是很快,但不是太慢)。如果我禁用虛擬化,程序會佔用過多內存,加載時間不會受到影響。具有大量行的數據網格
最厭惡的表格由大約六個模板列組成。每個模板包含一個堆棧面板或一個網格內的控件;基本上每行都被分成兩部分,就像一個雙排。這種佈局是一種要求,分頁可能不是客戶願意接受的。
這是我的應用程序中最重要的屏幕,我在做這項工作時非常茫然。我能做些什麼來加速這個過程?也許ObservableCollection是錯誤的選擇?
研究「分頁」 –
也許這會幫助嗎? http://stackoverflow.com/questions/697701/wpf-datagrid-performance –
正如我所說的,客戶端不會去尋呼。關於該鏈接,我已經嘗試了回覆中列出的所有代碼修改建議,但我沒有看看性能工具包。我會給你一個機會,看看它是否有任何東西。 – drowned