CollectionView クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ コレクションをグループ化、並べ替え、フィルター処理、移動するためのビューを表します。
public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
inherit DispatcherObject
interface ICollectionView
interface IEnumerable
interface INotifyCollectionChanged
interface INotifyPropertyChanged
type CollectionView = class
inherit DispatcherObject
interface IEnumerable
interface INotifyCollectionChanged
interface ICollectionView
interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
- 継承
- 派生
- 実装
注釈
コードでは、このクラスのオブジェクトを作成しないでください。 のみを実装 IEnumerableするコレクションのコレクション ビューを作成するには、 オブジェクトを CollectionViewSource 作成し、 プロパティに Source コレクションを追加し、 プロパティからコレクション ビューを View 取得します。
コレクション ビューは、基になるソース コレクション自体を操作しなくても、並べ替え、フィルター、およびグループ クエリに基づいてコレクションを移動および表示できる、バインディング ソース コレクションの上にあるレイヤーと考えることができます。 ソース コレクションで インターフェイスが実装されている INotifyCollectionChanged 場合、イベントを発生させる CollectionChanged 変更がビューに反映されます。
ビューは基になるソース コレクションを変更しないため、ソース コレクションには複数のビューを関連付けることができます。 ビューを使用すると、同じデータをさまざまな方法で表示できます。 たとえば、オブジェクトのコレクションで 2 つのビューを使用すると、ページの Task
1 つの部分で優先度順に並べ替えられたタスクと、ページの別の部分の領域別にグループ化されたタスクを表示できます。
WPF アプリケーションでは、すべてのコレクションに既定のコレクション ビューが関連付けられています。 バインド エンジンは、コレクションを直接操作するのではなく、関連付けられたビューを通じて常にコレクションにアクセスします。 既定のビューを取得するには、 メソッドを使用します CollectionViewSource.GetDefaultView 。 に CollectionView 基づく内部クラスは、 のみを IEnumerable実装するコレクションの既定のビューです。 ListCollectionView は、 を実装 IListするコレクションの既定のビューです。 BindingListCollectionViewは、 または IBindingListを実装IBindingListViewするコレクションの既定のビューです。
または、 クラスを使用 CollectionViewSource して拡張可能なアプリケーション マークアップ言語 (XAML) でコレクションのビューを作成し、コントロールをそのビューにバインドすることもできます。 クラスは CollectionViewSource 、 クラスの CollectionView XAML 表現です。 例については、「 方法: XAML でビューを使用してデータを並べ替えおよびグループ化する」を参照してください。
詳細については、「データ バインディングの概要」の「コレクションへの バインド」を参照してください。
XAML でビューを設定するには、 クラスを使用します CollectionViewSource 。 CollectionViewSource は クラスの CollectionView XAML 表現であり、 クラスの最も一般的に使用されるメンバーを CollectionView 公開します。
コンストラクター
CollectionView(IEnumerable) |
指定されたコレクションのビューを表す、CollectionView クラスの新しいインスタンスを初期化します。 |
プロパティ
AllowsCrossThreadChanges |
CollectionView を作成したスレッド以外のスレッドが SourceCollection を変更できるかどうかを示す値を取得します。 |
CanFilter |
ビューがフィルター処理をサポートするかどうかを示す値を取得します。 |
CanGroup |
ビューがグループ化をサポートするかどうかを示す値を取得します。 |
CanSort |
ビューが並べ替えをサポートするかどうかを示す値を取得します。 |
Comparer |
ビュー内の項目を比較するために使用できるオブジェクトを返します。 |
Count |
ビュー内のレコードの数を取得します。 |
Culture |
並べ替え中に使用するカルチャ情報を取得または設定します。 |
CurrentItem |
ビュー内の現在の項目を取得します。 |
CurrentPosition |
ビュー (オプションで並べ替えおよびフィルター処理されたビュー) 内の CurrentItem の位置を表す序数を取得します。 |
Dispatcher |
この Dispatcher が関連付けられている DispatcherObject を取得します。 (継承元 DispatcherObject) |
Filter |
項目をビューに含めることが適切であるかどうかを決定するために使用されるメソッドを取得または設定します。 |
GroupDescriptions |
コレクション内の項目をビュー内でどのようにグループ化するかを説明する GroupDescription オブジェクトのコレクションを取得します。 |
Groups |
GroupDescriptions プロパティに従って構築されるトップレベル グループのコレクションを取得します。 |
IsCurrentAfterLast |
ビューの CurrentItem がコレクションの末尾を越えるかどうかを示す値を取得します。 |
IsCurrentBeforeFirst |
ビューの CurrentItem がコレクションの先頭より前にあるかどうかを示す値を取得します。 |
IsCurrentInSync |
CurrentItem が CurrentPosition にあるかどうかを示す値を取得します。 |
IsDynamic |
基になるコレクションが変更通知機能を持つかどうかを示す値を取得します。 |
IsEmpty |
結果の (フィルター処理された) ビューが空かどうかを示す値を取得します。 |
IsInUse |
この CollectionView オブジェクトのイベントをサブスクライブしているオブジェクトがあるかどうかを示す値を取得します。 |
IsRefreshDeferred |
保留状態の DeferRefresh() が使用されているかどうかを示す値を取得します。 |
NeedsRefresh |
ビューを更新する必要があるかどうかを示す値を取得します。 |
NewItemPlaceholder |
新しい項目を表すコレクション内のオブジェクトを取得します。 |
SortDescriptions |
コレクション内の項目をビュー内でどのように並べ替えるかを説明する SortDescription 構造体のコレクションを取得します。 |
SourceCollection |
基になるフィルター処理されていないコレクションを返します。 |
UpdatedOutsideDispatcher |
ユーザー インターフェイス (UI) スレッド ディスパッチャーを最初に入力せずに別のスレッドで通知を受信したため CollectionChanged 、変更ログを更新する必要があったかどうかを示す値を取得します。 |
メソッド
イベント
CollectionChanged |
ビューが変化すると発生します。 |
CurrentChanged |
CurrentItem が変更された後に発生します。 |
CurrentChanging |
CurrentItem が変更されているときに発生します。 |
PropertyChanged |
プロパティ値が変更されたときに発生します。 |
明示的なインターフェイスの実装
IEnumerable.GetEnumerator() |
ビュー内の項目を列挙するために使用できる IEnumerator オブジェクトを返します。 |
INotifyCollectionChanged.CollectionChanged |
ビューが変化すると発生します。 |
INotifyPropertyChanged.PropertyChanged |
プロパティ値が変更するときに発生します。 |
拡張メソッド
Cast<TResult>(IEnumerable) |
IEnumerable の要素を、指定した型にキャストします。 |
OfType<TResult>(IEnumerable) |
指定された型に基づいて IEnumerable の要素をフィルター処理します。 |
AsParallel(IEnumerable) |
クエリの並列化を有効にします。 |
AsQueryable(IEnumerable) |
IEnumerable を IQueryable に変換します。 |
適用対象
.NET