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