0

我有一个ICollectionView来自一个ObservableCollection

 WorkingSpreadOrderCollevtionView = CollectionViewSource.GetDefaultView(SpreadOrderCollection);

mySpreadOrderCollection不为空,可以看出SourceCollection计数为 1

ICollectionView 观看

但是为什么CurrentPosition-1,我认为正因为如此,DataGrid 即使我已经绑定WorkingSpreadOrderCollevtionView到它,也没有显示任何东西ItemSourcce

我可以知道这里可能的错误是什么吗?

==================================================== ========

编辑:xaml binding如下,DataContext很确定是正确的,因为public同一属性中的另一个属性正确ViewModel绑定到同一属性xaml

<DataGrid ItemsSource="{Binding WorkingSpreadOrderCollevtionView}" CanUserAddRows="False"  AutoGenerateColumns="True" >
</DataGrid>

另外,我可以Columns在数据网格中看到自动生成的,但我只是看不到记录。

====================================================

更新:我发现了愚蠢的错误。我已经调用GetDefaultView了两次,并认为创建了两个不同的视图副本,因此在“两个”副本上应用了两个过滤器。第二个过滤器阻止记录显示在DataGrid. 我现在所做的是创建一个新视图,如下所示,

WorkingSpreadOrderCollevtionView = new CollectionViewSource { Source = SpreadOrderCollection }.View;
4

1 回答 1

2

CurrentPosition通常表示选中的记录。 Selector后代可以将他们的SelectedItem/SelectedItemIndexICollectionView.CurrentItem/同步CurrentPosition

-1 值仅表示选择器/集合视图中没有选定项目。

这与空的问题无关DataGrid

于 2015-04-30T08:05:57.507 回答