0

我有一个 Silverlight TreeView 控件,当单击特定节点时会动态填充该控件。例如,我加载第一代(级别)节点,然后当用户单击其中一个节点时,我使用 Selected 事件填充该节点的子节点等。我从我的数据库发回一个 bool value 与每个节点 value 指示新节点是否具有子节点。

我想将展开箭头设置为显示在有子节点的新节点前面,但问题是它的子节点还不会被填充。我想也许将 HasChild 设置为我的布尔值,但 HasChild 是只读的。任何建议将不胜感激。

4

2 回答 2

1

只需在折叠时添加空白树视图项即可显示箭头。

但是当用户扩展时,清除那个空白的孩子,并做一个异步调用来获取真正的孩子。

执行 GetChildrenAsync 调用时,将 UserState 设置为父 treeviewitem 或 id。

当它们到达时,UserState 应该是父树视图项或 id,当您找到刚刚将其 itemsource 设置为 e.Result 的父级时。

于 2009-09-09T19:05:55.283 回答
0

如果您熟悉依赖属性,则可以创建一个可以由您在代码中设置并在 xaml 中获取的依赖属性,以便将其绑定到。

这将允许您使用 ValueConverter 来呈现箭头的可见性。

于 2009-09-09T13:08:57.770 回答