CollectionView CollectionView CollectionView CollectionView Class

定義

データ コレクションをグループ化、並べ替え、フィルター処理、移動するためのビューを表します。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 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
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
継承
派生
実装

注釈

このクラスのオブジェクトをコードに作成することはできません。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. ListCollectionViewは、を実装IListするコレクションの既定のビューです。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.

または、 Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) CollectionViewSourceクラスを使用してコレクションのビューを作成し、そのビューにコントロールをバインドすることもできます。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. クラスは、 CollectionViewクラスの表現です。XAMLXAML CollectionViewSourceThe 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. CollectionViewSourceはクラスの表現であり、 CollectionViewクラスの中で最もよく使用されるメンバーを公開します。 XAMLXAML CollectionViewCollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

コンストラクター

CollectionView(IEnumerable) CollectionView(IEnumerable) CollectionView(IEnumerable) CollectionView(IEnumerable)

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

プロパティ

AllowsCrossThreadChanges AllowsCrossThreadChanges AllowsCrossThreadChanges AllowsCrossThreadChanges

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

CanFilter CanFilter CanFilter CanFilter

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

CanGroup CanGroup CanGroup CanGroup

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

CanSort CanSort CanSort CanSort

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

Comparer Comparer Comparer Comparer

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

Count Count Count Count

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

Culture Culture Culture Culture

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

CurrentItem CurrentItem CurrentItem CurrentItem

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

CurrentPosition CurrentPosition CurrentPosition CurrentPosition

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

Dispatcher Dispatcher Dispatcher Dispatcher

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

(Inherited from DispatcherObject)
Filter Filter Filter Filter

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

GroupDescriptions GroupDescriptions GroupDescriptions GroupDescriptions

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

Groups Groups Groups Groups

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

IsCurrentAfterLast IsCurrentAfterLast IsCurrentAfterLast IsCurrentAfterLast

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

IsCurrentBeforeFirst IsCurrentBeforeFirst IsCurrentBeforeFirst IsCurrentBeforeFirst

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

IsCurrentInSync IsCurrentInSync IsCurrentInSync IsCurrentInSync

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

IsDynamic IsDynamic IsDynamic IsDynamic

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

IsEmpty IsEmpty IsEmpty IsEmpty

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

IsInUse IsInUse IsInUse IsInUse

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

IsRefreshDeferred IsRefreshDeferred IsRefreshDeferred IsRefreshDeferred

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

NeedsRefresh NeedsRefresh NeedsRefresh NeedsRefresh

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

NewItemPlaceholder NewItemPlaceholder NewItemPlaceholder NewItemPlaceholder

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

SortDescriptions SortDescriptions SortDescriptions SortDescriptions

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

SourceCollection SourceCollection SourceCollection SourceCollection

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

UpdatedOutsideDispatcher UpdatedOutsideDispatcher UpdatedOutsideDispatcher 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() CheckAccess() CheckAccess() CheckAccess()

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

(Inherited from DispatcherObject)
ClearChangeLog() ClearChangeLog() ClearChangeLog() ClearChangeLog()

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

ClearPendingChanges() ClearPendingChanges() ClearPendingChanges() ClearPendingChanges()

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

Contains(Object) Contains(Object) Contains(Object) Contains(Object)

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

DeferRefresh() DeferRefresh() DeferRefresh() DeferRefresh()

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

DetachFromSourceCollection() DetachFromSourceCollection() DetachFromSourceCollection() DetachFromSourceCollection()

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetItemAt(Int32) GetItemAt(Int32) GetItemAt(Int32) GetItemAt(Int32)

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

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
IndexOf(Object) IndexOf(Object) IndexOf(Object) IndexOf(Object)

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

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MoveCurrentTo(Object) MoveCurrentTo(Object) MoveCurrentTo(Object) MoveCurrentTo(Object)

指定された項目をビュー内の CurrentItem に設定します。Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst() MoveCurrentToFirst() MoveCurrentToFirst() MoveCurrentToFirst()

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

MoveCurrentToLast() MoveCurrentToLast() MoveCurrentToLast() MoveCurrentToLast()

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

MoveCurrentToNext() MoveCurrentToNext() MoveCurrentToNext() MoveCurrentToNext()

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

MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious() MoveCurrentToPrevious() MoveCurrentToPrevious() MoveCurrentToPrevious()

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

OKToChangeCurrent() OKToChangeCurrent() OKToChangeCurrent() OKToChangeCurrent()

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

OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged()

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

OnBeginChangeLogging(NotifyCollectionChangedEventArgs) OnBeginChangeLogging(NotifyCollectionChangedEventArgs) OnBeginChangeLogging(NotifyCollectionChangedEventArgs) 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) OnCollectionChanged(NotifyCollectionChangedEventArgs) OnCollectionChanged(NotifyCollectionChangedEventArgs) OnCollectionChanged(NotifyCollectionChangedEventArgs)

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

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

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

OnCurrentChanged() OnCurrentChanged() OnCurrentChanged() OnCurrentChanged()

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

OnCurrentChanging() OnCurrentChanging() OnCurrentChanging() OnCurrentChanging()

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

OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs)

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

OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs)

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

PassesFilter(Object) PassesFilter(Object) PassesFilter(Object) PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

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

ProcessPendingChanges() ProcessPendingChanges() ProcessPendingChanges() ProcessPendingChanges()

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

Refresh() Refresh() Refresh() Refresh()

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

RefreshOrDefer() RefreshOrDefer() RefreshOrDefer() RefreshOrDefer()

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

RefreshOverride() RefreshOverride() RefreshOverride() RefreshOverride()

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

SetCurrent(Object, Int32) SetCurrent(Object, Int32) SetCurrent(Object, Int32) SetCurrent(Object, Int32)

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

SetCurrent(Object, Int32, Int32) SetCurrent(Object, Int32, Int32) SetCurrent(Object, Int32, Int32) 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() ToString() ToString() ToString()

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

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

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

(Inherited from DispatcherObject)

イベント

CollectionChanged CollectionChanged CollectionChanged CollectionChanged

ビューが変更された場合に発生します。Occurs when the view has changed.

CurrentChanged CurrentChanged CurrentChanged CurrentChanged

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

CurrentChanging CurrentChanging CurrentChanging CurrentChanging

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

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

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

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

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

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

INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged

ビューが変更された場合に発生します。Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged

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

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

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

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

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

適用対象