ICollectionView CurrentPosition是-1

时间:2015-04-30 08:00:10

标签: c# wpf xaml icollectionview

我有ICollectionView的{​​{1}},

ObservableCollection

我的 WorkingSpreadOrderCollevtionView = CollectionViewSource.GetDefaultView(SpreadOrderCollection); 不为空,可以看出SpreadOrderCollection计数为1

ICollectionView Watch

但为什么SourceCollectionCurrentPosition,我认为正因为如此,即使我将-1绑定到DataGridWorkingSpreadOrderCollevtionView也没有显示任何内容}。

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

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

修改:ItemSourcce xaml如下所示,binding非常肯定是正确的,因为同一DataContext中的另一个public属性是绑定正确地使用ViewModel

xaml

此外,我可以在数据网格中看到<DataGrid ItemsSource="{Binding WorkingSpreadOrderCollevtionView}" CanUserAddRows="False" AutoGenerateColumns="True" > </DataGrid> 自动生成,但我无法看到记录。

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

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

DataGrid

1 个答案:

答案 0 :(得分:2)

CurrentPosition通常表示所选记录。 Selector个后代可以将SelectedItem / SelectedItemIndexICollectionView.CurrentItem / CurrentPosition同步。

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

这与空DataGrid的问题无关。