次の方法で共有


方法: データ コレクションの既定のビューを取得する

ビューを使用すると、並べ替え、フィルター処理、またはグループ化の条件に応じて、同じデータ収集をさまざまな方法で表示できます。 すべてのコレクションに 1 つの共有既定ビューがあります。これは、バインディングがコレクションをソースとして指定するときに、実際のバインディング ソースとして使用されます。 この例では、コレクションの既定のビューを取得する方法を示します。

ビューを作成するには、コレクションへのオブジェクト参照が必要です。 このデータ オブジェクトを取得するには、独自の分離コード オブジェクトを参照するか、データ コンテキストを取得するか、データ ソースのプロパティを取得するか、バインディングのプロパティを取得します。 この例では、データ オブジェクトの DataContext を取得し、それを使用してこのコレクションの既定のコレクション ビューを直接取得する方法を示します。

myCollectionView = (CollectionView)
    CollectionViewSource.GetDefaultView(rootElem.DataContext);
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)

この例では、ルート要素は StackPanelです。 myDataSourceに設定されます。これは、order オブジェクトの であるデータ プロバイダー を指しています。

<StackPanel.DataContext>
  <Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>

または、CollectionViewSource クラスを使用して、独自のコレクション ビューをインスタンス化してバインドすることもできます。 このコレクション ビューは、直接バインドするコントロールによってのみ共有されます。 例については、「データ バインディングの概要」の「ビューを作成する方法」セクションを参照してください。

コレクション ビューで提供される機能の例については、「ビューでのデータの並べ替え 、ビューでのデータのフィルター処理の 、Data CollectionView内のオブジェクト間の移動 を参照してください。

関連項目