假设我有这样的:为什么将一个集合绑定到另一个collectionview中的datagrid结果?
public IList<TestObj> collection { get; set; }
public MainWindow()
{
this.DataContext = this;
collection = new ObservableCollection<TestObj>();
InitializeComponent();
}
<DataGrid x:Name="grid" ItemsSource="{Binding collection}" IsSynchronizedWithCurrentItem="True">
</DataGrid>
相当标准的WPF的东西。但这里的东西检查即时窗口时惊讶我:(grid.Items实现ICollectionView)
CollectionViewSource.GetDefaultView(collection) == grid.Items
false
但当然......
CollectionViewSource.GetDefaultView(collection) == CollectionViewSource.GetDefaultView(grid.Items.SourceCollection)
true
,从对象检索的CollectionView的神秘静态方法令我感到意外,我认为它会这样做:检索绑定对象将会看到的集合视图,但它看起来有两种不同的ICollectionview接口实现者可以共存
干杯!