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 개체 작업을 표시 하려면 페이지의 한 부분에는 우선 순위별로 정렬 하 고 페이지의 다른 부분에는 영역별로 그룹화 합니다.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.

또는에서 컬렉션의 뷰를 만들 수 있습니다 XAML(Extensible Application Markup Language)Extensible Application Markup Language (XAML) 를 사용 하 여는 CollectionViewSource 클래스 및 다음 해당 보기에 컨트롤을 바인딩합니다.Alternatively, you can create a view of your collection in XAML(Extensible Application Markup Language)Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. CollectionViewSource 클래스는 합니다 XAMLXAML 표현한을 CollectionView 클래스입니다.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. CollectionViewSource XAMLXAML 표현한을 CollectionView 클래스에 가장 자주 사용 되는 멤버를 노출는 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(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

가져옵니다 합니다 DispatcherDispatcherObject 연관 됩니다.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

UI(사용자 인터페이스)user interface (UI) 스레드 디스패처를 먼저 시작하지 않고 다른 스레드에서 CollectionChanged 알림을 받았기 때문에 변경 로그를 업데이트해야 할 필요가 있었는지 여부를 나타내는 값을 가져옵니다.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)

지정한 항목 및 인덱스를 CurrentItemCurrentPosition 속성 값으로 설정합니다.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)

지정한 항목 및 인덱스를 CurrentItemCurrentPosition 속성 값으로 설정합니다.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.

Extension Methods

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.

적용 대상