处理TreeView中对象的IsSelected和IsExpanded的策略

时间:2012-07-24 08:13:05

标签: wpf listview treeview selection

想象一组要在列表和树中显示的联系人和联系人组。最初,我只是将IsSelected和IsExpanded属性添加到公共基类中,就TreeView而言,这种方法很有效。

我遇到的问题是对象可以出现在树中的不同位置(想象人们分配给多个组)。结果是,当我选择一个人时,每个人都被选中。这看起来有点不寻常,但工作正常。当此人出现在单独的列表中并被选中时,它会变得棘手。由于对象相同,所以所有列表中的选择都会出现。

你如何管理选择?将对象放在临时选择容器中会更好吗?对此有一个好的策略吗?

由于

1 个答案:

答案 0 :(得分:0)

您的person类可能有多个IsSelected属性,如:

IsSelectedInTree

IsSelectedInList

然后使您的绑定更具体:

<... IsSelected={Binding IsSelectedInTree}... >