2017-02-09 133 views
0

考慮一個大的TreeView;某些節點和子節點被展開,其他節點被摺疊。用戶將一個子節點添加到節點,該程序將所有內容保存回底層的XML文件。然後TreeView重建。問題是隻有根節點被擴展;所有其他節點都已摺疊。我保存了TreeView的狀態(哪些節點被展開),然後能夠在保存後將它恢復到這個狀態?在C中保存和恢復TreeView狀態#

任何想法?

編輯

好了,該鏈接沒有真正的幫助。我正在考慮創建一個數組並存儲isExpanded的狀態,然後在加載後讀取它。

+1

梅比這篇文章可以幫助你http://stackoverflow.com/questions/3989018/save-wpf-treeview-state-on-data-reload – live2

+0

謝謝!這應該有幫助! – zetar

+0

你能解釋爲什麼這種聯繫方式沒有幫助嗎? – Ron

回答

0

必須直接管理樹視圖的狀態並記錄節點展開或摺疊的時間。然後在加載或刷新時,根據需要打開/關閉節點。

+0

我想我可以走樹,看看IsExpanded = true; – zetar

+0

@zetar使用IsExpanded屬性爲數據創建類擴展或封裝類,並設置/使用該變量。 – OmegaMan