【发布时间】:2013-03-27 16:21:59
【问题描述】:
我有一个名为myCollection 的ObservableCollection<MyClass> 应该绑定到两个CollectionViewSources(AllItems 和SelectedItems)。
AllItems 的源属性绑定到myCollection。 SelectedItems 的源属性应该绑定到 myCollection 的项目 IsSelected == true。
public class MyClass : INotifyPropertyChanged
{
//fields and interface implementations
public string Name {//proper code};
public bool? IsSelected {//proper code};
}
// some where else in the MainWindow
AllItems.Source = myCollection;
SelectedItems.Source = myCollection.Where(input=>input.IsSelected==true);
问题: 加载 Window 时一切正常。但是,当myCollection 中某些项目的IsSelected 值发生更改时,显然它对SelectedItems 没有影响。因此,为了克服这个问题,我每次更改 IsSelected 属性时都会更新 SelectedItems 的源属性。
问题:如何进行此类绑定,从而无需手动更新SelectedItems 的源属性?
感谢。
【问题讨论】:
标签: c# wpf binding observablecollection collectionviewsource