当我尝试将同一个列表与多个组合框一起使用时,将与所有组合框共享选择。
我希望组合框将数据源视为自己的,并且不应共享选择。
<ComboBox ItemsSource="{Binding ActiveLanguages}" DisplayMemberPath="Name" />
ActiveLanguages是一个ObservableCollection,是应用程序的单个实例对象。
此组合框位于模板上,选择在模板的所有实例上重复。
答案 0 :(得分:5)
将IsSynchronizedWithCurrentItem
属性设置为false
答案 1 :(得分:2)
制作副本会占用大量内存,具体取决于列表的大小。
更好的方法是使用BindingSource。
每个UI对象将其数据源设置为BindingSource的新副本。
BindingSources都设置了他们的.datasource =您尝试绑定的任何列表的相同实例。