2012-04-15 30 views
2

擴大樹節點,我使用綁定到我的班,雖然MVVM顯示大陣多級數據的WPF的TreeView當深樹視圖會去。因此,當我展開TreeNode時,需要一些時間和大量內存。限制如何WPF

我認爲,對內存的需求來自TreeView的偵察出節點的路線,不只是第一代的孩子,迫使那些節點加載數據。

有什麼辦法來限制這種「偵察」的行爲僅第一代的子節點?

回答

1

WPF生成樹型視圖(一個或多個)僅當它們被顯示時,產生即,沒有項,直到它的父擴展。所以,我認爲這個問題不是「偵察」。

無論如何,你可以嘗試用TreeViewItem.IsExpanded採用雙向綁定添加同步的實現您的視圖模型動態加載。看看this。您可以對IsExpanded屬性使用相同的解決方案。不要忘記添加假項目來告訴TreeViewItem它是可擴展的。

1

檢查TreeView是否正在使用VirtualizingStackPanel。我相信它在.NET 4.0中默認使用,但您必須在以前的.NET版本中明確地設置它。

欲瞭解更多信息,請參閱How to: Improve the Performance of a TreeView