2013-10-10 116 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添加到这个文档页面中的两个转换方法。那么你将能够从对象本身获得物品状态没有问题!