2011-02-26 47 views
0

这个问题一直困扰着我一段时间,我只是无法正确理解。我有多个列表框,每个绑定到不同的列表。最后,我只想保留它,以便在所有列表中一次只选择一个项目。有任何想法吗?如何设置数据触发器以选择 unselect listbox项目?

这已经非常简单,但我没有运气。我尝试了gloabl \ static DependencyObject与每个ListBoxItem的Tag属性匹配的想法,但在更新值时无法在每个列表框中触发数据触发器。例如,如果我的表单有不同的列表框,每个列表框都有自己的支持列表集合和他们自己的DataTemplates,我希望能够从一个列表中选择一个项目,并使其成为唯一选定的项目。这意味着我希望其他人不要选择。我尝试将ListBoxItem IsSelected属性绑定到一个MultiBinding,它将唯一的ListBoxItem值与全局值进行比较,但在那里没有运气。

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

+0

现在您不得不详细说明您要完成的工作:您是否尝试过使用[IsSynchronizedWithCurrentItem](http://msdn.microsoft.com/zh-cn/library/system.windows.controls .primitives.selector.issynchronizedwithcurrentitem.aspx) – 2011-02-26 17:43:53

回答

0

好吧,这里一试:

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

相关问题