2013-10-10 112 views
0

我希望我不會錯過現有的問題,但我找不到它與一些搜索。在我的項目中,我有一個RadTreeView,顯示了多級數據層次結構。該控件被設置爲三態模式。如果用戶點擊一個低級別的項目,它會檢查父母(全面檢查或必要的破折號檢查):從Silverlight獲取選定的項目RadTreeView

[-] 
- [] Item 1 
--- [] Sub-Item 1-1 
- [*] Item 2 
--- [*] Sub-Item 2-1 

在這個例子中,我檢查了子項目2-1。由於所有子項都被選中,所以父項2被正確檢查,根節點有一個破折號以指示某種東西被降低。問題是CheckedItems集合包含三個條目,無法確定檢查或不確定之間的區別。內部有一個名爲itemtogglestorage的集合,它正是我所需要的(項目和狀態),但沒有辦法通過公共接口獲取它。我錯過了明顯的東西嗎?推薦的處理方法是什麼?

回答

0

我認爲在這裏處理數據更好,而不是使用UI元素。檢查狀態應該對應於數據綁定對象的某些屬性。 Telerik的文檔有一個很好的例子,例如結合在這裏:Bind RadTreeViewItem CheckState Property(這是WPF文檔,但加給SL和它`清潔超過SL version

你必須做的唯一改變是更換boolbool?自你現在應該有3個狀態,並且將ToggleState.Indeterminate添加到這個文檔頁面中的兩個轉換方法。那麼你將能夠從對象本身獲得物品狀態沒有問題!