方法: データ コレクションの既定のビューを取得する
ビューでは、並べ替え、フィルター処理、グループ化の条件に応じて、同じデータ コレクションを異なる方法で表示できます。 すべてのコレクションには既定の共有ビューが 1 つあり、バインディングでソースとしてコレクションが指定されているときに、実際のバインディング ソースとして使用されます。 この例では、コレクションの既定のビューを取得する方法を示します。
例
ビューを作成するには、コレクションへのオブジェクト参照が必要です。 このデータ オブジェクトは、独自のコードビハインド オブジェクトの参照、データ コンテキストの取得、データ ソースのプロパティの取得、またはバインディングのプロパティの取得によって、取得することができます。 この例では、データ オブジェクトの DataContext を取得し、それを使用してこのコレクションの既定のコレクション ビューを直接取得する方法を示します。
myCollectionView = (CollectionView)
CollectionViewSource.GetDefaultView(rootElem.DataContext);
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)
この例では、ルート要素は StackPanel です。 DataContext は myDataSource に設定されています。これは、Order オブジェクトの ObservableCollection<T> であるデータ プロバイダーを参照します。
<StackPanel.DataContext>
<Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>
または、CollectionViewSource クラスを使用して、独自のコレクション ビューをインスタンス化し、それにバインドすることもできます。 このコレクション ビューは、それに直接バインドするコントロールによってのみ共有されます。 例については、「データ バインディングの概要」の「ビューの作成方法」セクションを参照してください。
コレクション ビューによって提供される機能の例については、「ビュー内のデータの並べ替え」、「ビュー内のデータをフィルター処理する」、および「データ CollectionView のオブジェクト間を移動する」を参照してください。
関連項目
.NET Desktop feedback