CollectionView クラス

定義

データ コレクションをグループ化、並べ替え、フィルター処理、移動するためのビューを表します。Represents a view for grouping, sorting, filtering, and navigating a data collection.

public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public ref 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
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface IEnumerable
    interface INotifyCollectionChanged
    interface ICollectionView
    interface INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyPropertyChanged
継承
CollectionView
派生
実装

注釈

このクラスのオブジェクトをコードに作成することはできません。You should not create objects of this class in your code. IEnumerableのみを実装するコレクションのコレクションビューを作成するには、CollectionViewSource オブジェクトを作成し、Source プロパティにコレクションを追加して、View プロパティからコレクションビューを取得します。To create a collection view for a collection that only implements IEnumerable, create a CollectionViewSource object, add your collection to the Source property, and get the collection view from the View property.

コレクションビューは、基になるソースコレクション自体を操作せずに、並べ替え、フィルター、およびグループクエリに基づいてコレクションを移動して表示できるようにする、バインディングソースコレクションの上にあるレイヤーと考えることができます。You can think of a collection view as a layer on top of a binding source collection that allows you to navigate and display the collection based on sort, filter, and group queries, all without having to manipulate the underlying source collection itself. ソースコレクションが INotifyCollectionChanged インターフェイスを実装している場合は、CollectionChanged イベントを発生させる変更がビューに反映されます。If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

ビューでは基になるソースコレクションが変更されないため、ソースコレクションには複数のビューを関連付けることができます。Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. ビューを使用すると、同じデータをさまざまな方法で表示できます。By using views, you can display the same data in different ways. たとえば、Task オブジェクトのコレクションに対して2つのビューを使用して、ページの1つの部分で優先順位に基づいて並べ替えられたタスクを表示し、ページの別の部分の領域別にグループ化することができます。For example, you can use two views on a collection of Task objects to show tasks sorted by priority on one part of the page and grouped by area on another part of the page.

WPFWPF アプリケーションでは、すべてのコレクションに既定のコレクションビューが関連付けられています。In WPFWPF applications, all collections have an associated default collection view. コレクションを直接操作するのではなく、バインドエンジンは常に関連付けられたビューを使用してコレクションにアクセスします。Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. 既定のビューを取得するには、CollectionViewSource.GetDefaultView メソッドを使用します。To get the default view, use the CollectionViewSource.GetDefaultView method. CollectionView に基づく内部クラスは、IEnumerableのみを実装するコレクションの既定のビューです。An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionViewIListを実装するコレクションの既定のビューです。ListCollectionView is the default view for collections that implement IList. BindingListCollectionView は、IBindingListView または IBindingListを実装するコレクションの既定のビューです。BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

また、CollectionViewSource クラスを使用して Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) でコレクションのビューを作成し、そのビューにコントロールをバインドすることもできます。Alternatively, you can create a view of your collection in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. CollectionViewSource クラスは、CollectionView クラスの XAMLXAML 表現です。The CollectionViewSource class is the XAMLXAML representation of the CollectionView class. 例については、「方法: XAML のビューを使用してデータの並べ替えとグループ化を行う」を参照してください。For an example, see How to: Sort and Group Data Using a View in XAML.

詳細については、「データバインディングの概要」の「コレクションへのバインド」を参照してください。For more information, see "Binding to Collections" in Data Binding Overview.

XAMLXAMLでビューを設定するには、CollectionViewSource クラスを使用します。To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSourceCollectionView クラスの XAMLXAML 表現であり、CollectionView クラスの中で最もよく使用されるメンバーを公開します。CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

コンストラクター

CollectionView(IEnumerable)

指定されたコレクションのビューを表す、CollectionView クラスの新しいインスタンスを初期化します。Initializes a new instance of the CollectionView class that represents a view of the specified collection.

プロパティ

AllowsCrossThreadChanges

CollectionView を作成したスレッド以外のスレッドが SourceCollection を変更できるかどうかを示す値を取得します。Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

ビューがフィルター処理をサポートするかどうかを示す値を取得します。Gets a value that indicates whether the view supports filtering.

CanGroup

ビューがグループ化をサポートするかどうかを示す値を取得します。Gets a value that indicates whether the view supports grouping.

CanSort

ビューが並べ替えをサポートするかどうかを示す値を取得します。Gets a value that indicates whether the view supports sorting.

Comparer

ビュー内の項目を比較するために使用できるオブジェクトを返します。Returns an object that you can use to compare items in the view.

Count

ビュー内のレコードの数を取得します。Gets the number of records in the view.

Culture

並べ替え中に使用するカルチャ情報を取得または設定します。Gets or sets the culture information to use during sorting.

CurrentItem

ビュー内の現在の項目を取得します。Gets the current item in the view.

CurrentPosition

ビュー (オプションで並べ替えおよびフィルター処理されたビュー) 内の CurrentItem の位置を表す序数を取得します。Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)
Filter

項目をビューに含めることが適切であるかどうかを決定するために使用されるメソッドを取得または設定します。Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

コレクション内の項目をビュー内でどのようにグループ化するかを説明する GroupDescription オブジェクトのコレクションを取得します。Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

GroupDescriptions プロパティに従って構築されるトップレベル グループのコレクションを取得します。Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

ビューの CurrentItem がコレクションの末尾を越えるかどうかを示す値を取得します。Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

ビューの CurrentItem がコレクションの先頭より前にあるかどうかを示す値を取得します。Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

CurrentItemCurrentPosition にあるかどうかを示す値を取得します。Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

基になるコレクションが変更通知機能を持つかどうかを示す値を取得します。Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

結果の (フィルター処理された) ビューが空かどうかを示す値を取得します。Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

この CollectionView オブジェクトのイベントをサブスクライブしているオブジェクトがあるかどうかを示す値を取得します。Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

保留状態の DeferRefresh() が使用されているかどうかを示す値を取得します。Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

ビューを更新する必要があるかどうかを示す値を取得します。Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

新しい項目を表すコレクション内のオブジェクトを取得します。Gets the object that is in the collection to represent a new item.

SortDescriptions

コレクション内の項目をビュー内でどのように並べ替えるかを説明する SortDescription 構造体のコレクションを取得します。Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

基になるフィルター処理されていないコレクションを返します。Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

CollectionChanged 通知が最初に ユーザー インターフェイス (UI)user interface (UI) スレッド ディスパッチャーに入らずに別のスレッドで受信されたため変更ログを更新する必要があったかどうかを示す値を取得します。Gets a value that indicates whether it has been necessary to update the change log because a CollectionChanged notification has been received on a different thread without first entering the ユーザー インターフェイス (UI)user interface (UI) thread dispatcher.

メソッド

CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
ClearChangeLog()

保留状態の変更を変更ログから消去します。Clears any pending changes from the change log.

ClearPendingChanges()

コレクションに対する未処理の変更をクリアします。Clears unprocessed changed to the collection.

Contains(Object)

指定された項目がビューに属しているかどうかを示す値を返します。Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

ビューの変更をマージして自動更新を遅延させるために使用できる遅延サイクルを入力します。Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

基になるコレクションの参照を CollectionView から削除します。Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetEnumerator()

ビュー内の項目を列挙するために使用できるオブジェクトを返します。Returns an object that you can use to enumerate the items in the view.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetItemAt(Int32)

ビュー内の、0 から始まる指定されたインデックス位置にある項目を取得します。Retrieves the item at the specified zero-based index in the view.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IndexOf(Object)

指定した項目の位置を示すインデックスを返します。Returns the index at which the specified item is located.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MoveCurrentTo(Object)

指定した項目がビュー内の CurrentItem になるように設定します。Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

ビュー内の最初の項目が CurrentItemになるように設定します。Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

ビュー内の最後の項目が CurrentItemになるように設定します。Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

ビュー内の CurrentItem の後の項目を CurrentItemとして設定します。Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

指定したインデックスにある項目を、ビュー内の CurrentItem になるように設定します。Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

ビュー内の CurrentItem の前の項目を CurrentItemとして設定します。Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

ビューで、CurrentItem である項目を変更できるかどうかを示す値を返します。Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

AllowsCrossThreadChanges プロパティが変更されたときに発生します。Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)

CollectionChanged イベントがメッセージ キューにポストされたことを派生クラスに通知するために、基本クラスによって呼び出されます。Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged イベントを発生させます。Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

CollectionChanged イベントを発生させます。Raises the CollectionChanged event.

OnCurrentChanged()

CurrentChanged イベントを発生させます。Raises the CurrentChanged event.

OnCurrentChanging()

キャンセルできない CurrentChanging イベントを発生させます。Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

指定された引数を使用して、CurrentChanging イベントを発生させます。Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

指定された引数を使用して PropertyChanged イベントを発生させます。Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

基になるコレクション内の指定した項目がビューに属しているかどうかを示す値を返します。Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

派生クラスでオーバーライドされると、UIUI スレッド上で単一の変更を処理します。When overridden in a derived class, processes a single change on the UIUI thread.

ProcessPendingChanges()

コレクションへのすべての保留中の変更がコミットされたことを確認します。Ensures that all pending changes to the collection have been committed.

Refresh()

ビューを再作成します。Re-creates the view.

RefreshOrDefer()

ビューを更新します。または遅延サイクルの完了時にビューを更新する必要があることを指定します。Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

ビューを再作成します。Re-creates the view.

SetCurrent(Object, Int32)

指定された項目およびインデックスを CurrentItem プロパティおよび CurrentPosition プロパティの値として設定します。Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

指定された項目およびインデックスを CurrentItem プロパティおよび CurrentPosition プロパティの値として設定します。Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. このメソッドは、派生クラスのコンストラクターから呼び出すことができます。This method can be called from a constructor of a derived class.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

イベント

CollectionChanged

ビューが変化すると発生します。Occurs when the view has changed.

CurrentChanged

CurrentItem が変更された後に発生します。Occurs after the CurrentItem has changed.

CurrentChanging

CurrentItem が変更されているときに発生します。Occurs when the CurrentItem is changing.

PropertyChanged

プロパティ値が変更された場合に発生します。Occurs when a property value has changed.

明示的なインターフェイスの実装

IEnumerable.GetEnumerator()

ビュー内の項目を列挙するために使用できる IEnumerator オブジェクトを返します。Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

ビューが変化すると発生します。Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

プロパティ値が変更されたときに発生します。Occurs when a property value changes.

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象