0

私はICollectionViewからObservableCollectionを持っています

 WorkingSpreadOrderCollevtionView = CollectionViewSource.GetDefaultView(SpreadOrderCollection);

mySpreadOrderCollectionは空ではありません。SourceCollectionカウントが 1であることがわかります

ICollectionView ウォッチ

しかし、なぜCurrentPosition-1であり、このためだと思いますが、 を にバインドしDataGrid ても何も表示されません。WorkingSpreadOrderCollevtionViewItemSourcce

ここで考えられるバグは何ですか?

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

編集:次のとおりxaml bindingです。同じ内の別のプロパティが同じに正しくバインドされてDataContextいるため、正しいことは間違いありません。publicViewModelxaml

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

さらにColumns、データグリッドで自動生成されたものを見ることができますが、レコードを見ることができません。

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

更新: ばかげたバグを見つけました。私はGetDefaultView2 回呼び出し、ビューの 2 つの異なるコピーが作成されたと考えたため、「2 つの」コピーに 2 つのフィルターを適用しました。2 番目のフィルタは、レコードが に表示されないようにしましたDataGrid。私が今行ったことは、以下のように新しいビューを作成することです。

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

1 に答える 1

2

CurrentPosition通常、選択されたレコードを示します。 子孫は/と/Selectorを同期できます。SelectedItemSelectedItemIndexICollectionView.CurrentItemCurrentPosition

-1 の値は、セレクター/コレクション ビューで選択された項目がないことを意味します。

これは empty の問題とは関係ありませんDataGrid

于 2015-04-30T08:05:57.507 に答える