다음을 통해 공유


CollectionView 클래스

정의

데이터 컬렉션 그룹화, 정렬, 필터링 및 탐색에 사용할 뷰를 나타냅니다.

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
상속
CollectionView
파생
구현

설명

코드에서 이 클래스의 개체를 만들면 안 됩니다. 를 구현 IEnumerable하는 컬렉션에 대한 컬렉션 뷰를 만들려면 개체를 CollectionViewSource 만들고, 속성을 추가하고 Source , 속성에서 컬렉션 뷰를 View 가져옵니다.

컬렉션 뷰는 기본 원본 컬렉션 자체를 조작하지 않고도 정렬, 필터 및 그룹 쿼리에 따라 컬렉션을 탐색하고 표시할 수 있는 바인딩 소스 컬렉션 위에 있는 계층으로 생각할 수 있습니다. 소스 컬렉션이 인터페이스를 INotifyCollectionChanged 구현하는 경우 이벤트를 발생 CollectionChanged 시키는 변경 내용이 뷰로 전파됩니다.

뷰는 기본 원본 컬렉션을 변경하지 않으므로 원본 컬렉션에 연결된 여러 보기가 있을 수 있습니다. 보기를 사용하면 동일한 데이터를 다른 방식으로 표시할 수 있습니다. 예를 들어 개체 컬렉션 Task 에서 두 개의 뷰를 사용하여 페이지의 한 부분에서 우선 순위별로 정렬되고 페이지의 다른 부분에 있는 영역별로 그룹화된 작업을 표시할 수 있습니다.

WPF 애플리케이션에서 모든 컬렉션에는 연결된 기본 컬렉션 뷰가 있습니다. 바인딩 엔진은 컬렉션에서 직접 작업하는 대신 항상 연결된 뷰를 통해 컬렉션에 액세스합니다. 기본 보기를 얻으려면 메서드를 CollectionViewSource.GetDefaultView 사용합니다. 를 기반으로 CollectionView 하는 내부 클래스는 만 IEnumerable구현하는 컬렉션의 기본 보기입니다. ListCollectionView 는 를 구현 IList하는 컬렉션의 기본 보기입니다. BindingListCollectionView은 또는 IBindingList을 구현 IBindingListView 하는 컬렉션의 기본 보기입니다.

또는 클래스를 사용하여 CollectionViewSource XAML(Extensible Application Markup Language)에서 컬렉션 보기를 만든 다음 컨트롤을 해당 보기에 바인딩할 수 있습니다. 클래스는 CollectionViewSource 클래스의 XAML 표현입니다 CollectionView . 예제를 보려면 방법: 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

CurrentItemCurrentPosition에 있는지 여부를 나타내는 값을 가져옵니다.

IsDynamic

기본 컬렉션에서 변경 알림을 제공하는지 여부를 나타내는 값을 가져옵니다.

IsEmpty

필터링된 결과 뷰가 비어 있는지 여부를 나타내는 값을 가져옵니다.

IsInUse

CollectionView의 이벤트를 구독하는 개체가 있는지 여부를 나타내는 값을 가져옵니다.

IsRefreshDeferred

사용하고 있는 처리 중인 DeferRefresh()가 있는지 여부를 나타내는 값을 가져옵니다.

NeedsRefresh

뷰를 새로 고쳐야 하는지 여부를 나타내는 값을 가져옵니다.

NewItemPlaceholder

컬렉션에서 새 항목을 나타내는 개체를 가져옵니다.

SortDescriptions

컬렉션의 항목이 뷰에서 정렬되는 방법을 설명하는 SortDescription 구조의 컬렉션을 가져옵니다.

SourceCollection

필터링되지 않은 기본 컬렉션을 반환합니다.

UpdatedOutsideDispatcher

UI(사용자 인터페이스) 스레드 디스패처를 먼저 입력하지 않고 다른 스레드에서 알림을 받았기 때문에 CollectionChanged 변경 로그를 업데이트해야 하는지 여부를 나타내는 값을 가져옵니다.

메서드

CheckAccess()

호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다.

(다음에서 상속됨 DispatcherObject)
ClearChangeLog()
사용되지 않음.

변경 로그에서 보류 중인 변경 내용을 모두 지웁니다.

ClearPendingChanges()

컬렉션에 대한 처리되지 않은 변경 내용을 지웁니다.

Contains(Object)

지정한 항목이 뷰에 속해 있는지 여부를 나타내는 값을 반환합니다.

DeferRefresh()

변경 내용을 뷰에 병합하고 자동 새로 고침을 지연하는 데 사용할 수 있는 지연 주기를 입력합니다.

DetachFromSourceCollection()

CollectionView에서 기본 컬렉션에 대한 참조를 제거합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetEnumerator()

뷰의 항목을 열거하는 데 사용할 수 있는 개체를 반환합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetItemAt(Int32)

뷰의 지정한 인덱스(0부터 시작)에 있는 항목을 검색합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IndexOf(Object)

지정한 항목이 있는 인덱스를 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MoveCurrentTo(Object)

지정한 항목을 뷰의 CurrentItem으로 설정합니다.

MoveCurrentToFirst()

뷰의 첫 번째 항목을 CurrentItem으로 설정합니다.

MoveCurrentToLast()

뷰의 마지막 항목을 CurrentItem으로 설정합니다.

MoveCurrentToNext()

뷰의 CurrentItem 다음에 나오는 항목을 CurrentItem으로 설정합니다.

MoveCurrentToPosition(Int32)

지정한 인덱스에 있는 항목을 뷰의 CurrentItem으로 설정합니다.

MoveCurrentToPrevious()

뷰의 CurrentItem 앞에 나오는 항목을 CurrentItem으로 설정합니다.

OKToChangeCurrent()

뷰에서 CurrentItem인 항목을 변경할 수 있는지 여부를 나타내는 값을 반환합니다.

OnAllowsCrossThreadChangesChanged()

AllowsCrossThreadChanges 속성이 변경되면 발생합니다.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
사용되지 않음.

기본 클래스에서 호출되어 CollectionChanged 이벤트가 메시지 큐에 게시되었음을 파생 클래스에 알립니다.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged 이벤트를 발생시킵니다.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

CollectionChanged 이벤트를 발생시킵니다.

OnCurrentChanged()

CurrentChanged 이벤트를 발생시킵니다.

OnCurrentChanging()

취소할 수 없는 CurrentChanging 이벤트를 발생시킵니다.

OnCurrentChanging(CurrentChangingEventArgs)

지정한 인수로 CurrentChanging 이벤트를 발생시킵니다.

OnPropertyChanged(PropertyChangedEventArgs)

지정한 인수를 사용하여 PropertyChanged 이벤트를 발생시킵니다.

PassesFilter(Object)

기본 컬렉션에 있는 지정한 항목이 뷰에 속해 있는지 여부를 나타내는 값을 반환합니다.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

파생 클래스에서 재정의되는 경우 UI 스레드에서 단일 변경 사항을 처리합니다.

ProcessPendingChanges()

컬렉션에 대한 모든 보류 중인 변경 내용이 커밋되도록 합니다.

Refresh()

뷰를 다시 만듭니다.

RefreshOrDefer()

뷰를 새로 고치거나, 지연 주기가 완료되면 뷰 새로 고침이 필요하도록 지정합니다.

RefreshOverride()

뷰를 다시 만듭니다.

SetCurrent(Object, Int32)

지정한 항목 및 인덱스를 CurrentItemCurrentPosition 속성 값으로 설정합니다.

SetCurrent(Object, Int32, Int32)

지정한 항목 및 인덱스를 CurrentItemCurrentPosition 속성 값으로 설정합니다. 파생 클래스의 생성자에서 이 메서드를 호출할 수 있습니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.

(다음에서 상속됨 DispatcherObject)

이벤트

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)

IEnumerableIQueryable로 변환합니다.

적용 대상