如何设置数据触发器以选择\取消选择列表框项?

时间:2011-02-26 16:46:22

标签: wpf binding datatrigger

这个问题困扰了我一段时间,我无法做对。我有多个列表框,每个列表框都绑定到不同的列表。最后,我只想保留它,以便在所有列表中一次只选择一个项目。有什么想法吗?

这必须非常简单,但我没有运气。我尝试使用gloabl \ static DependencyObject来匹配每个ListBoxItem的Tag属性,但是在更新值时无法为每个列表框触发datatrigger。

例如,如果我的表单有不同的ListBox,每个ListBox都有自己的支持列表集合和他们自己的DataTemplates,我希望能够从一个列表中选择一个项目,并让它成为唯一的选定项目。这意味着我希望其他人取消选择。我尝试将ListBoxItem IsSelected属性绑定到MultiBinding,它将唯一的ListBoxItem值与全局值进行比较,但在那里没有运气。

据我了解,IsSynchronizedWithCurrentItem适用于使用相同后备集合的列表。

1 个答案:

答案 0 :(得分:0)

好的,这是一个尝试:

获取每个列表的collectionviewsource.View(如果您还没有使用这些列表,get the default views)。在视图中,您可以订阅CurrentChanged并在其中为每个其他列表'CollectionViewSource.View。MoveCurrentToPosition( - 1);