我有一个Silverlight TreeView控件,当我点击一个特定节点时,我会动态填充它。例如,我加载第一代(级别)节点,然后当用户点击其中一个节点时,我使用Selected事件来填充该节点的子节点等等。我从我的数据库发回一个bool每个节点值的值,指示新节点是否具有子节点。
我想设置展开箭头以显示有子节点的新节点,但问题是它的子节点尚未填充。我想可能会将HasChild设置为我的bool值,但HasChild是只读的。任何建议都将非常感谢。
答案 0 :(得分:1)
只是在折叠时添加空白的treeviewitem以显示箭头。
但是当用户扩展时,清除那个空白的孩子,并进行异步调用以获得真正的孩子。
在执行GetChildrenAsync调用时将UserState设置为父treeviewitem或id。
当他们到达时,UserState应该是父树treeiteite或id,当你找到你刚刚将它的itemsource设置为e.Result的父。
答案 1 :(得分:0)
如果您熟悉依赖项属性,则可以创建一个依赖项属性,您可以在代码中设置该属性,并在xaml中获取,以便绑定到该属性。
这将允许您使用ValueConverter呈现箭头的可见性。