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 시키는 변경 내용이 뷰로 전파됩니다.
뷰는 기본 원본 컬렉션을 변경하지 않으므로 원본 컬렉션에 연결된 여러 보기가 있을 수 있습니다. 보기를 사용하면 동일한 데이터를 다른 방식으로 표시할 수 있습니다. 예를 들어 개체 컬렉션 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 |
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