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

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

使用例

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

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

この例では、ルート要素は StackPanel です。 DataContext は、データ プロバイダーを参照する myDataSource に設定されます。データ プロバイダーは、Order オブジェクトの ObservableCollection<T> です。

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

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

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

参照

処理手順

方法 : XAML でビューを使用してデータの並べ替えおよびグループ化を行う

その他の技術情報

データ バインディングに関する「方法」トピック