다음을 통해 공유


ItemCollection 클래스

정의

ItemsControl의 콘텐츠를 구성하는 항목의 목록을 저장합니다.

public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionView, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::ICollectionViewLiveShaping, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionView, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.ICollectionViewLiveShaping, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface ICollectionViewLiveShaping
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface ICollection
    interface IEnumerable
    interface IList
    interface ICollectionViewLiveShaping
    interface IEditableCollectionView
    interface IEditableCollectionViewAddNewItem
    interface IItemProperties
    interface IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionView, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements ICollectionViewLiveShaping, IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
상속
특성
구현

예제

콘텐츠가 있는 ItemsControl와 같은 ListBox 가 있는 경우 속성을 사용하여 Items 뷰인 에 ItemCollection액세스할 수 있습니다. 보기이므로 정렬, 필터링 및 그룹화와 같은 보기 관련 기능을 사용할 수 있습니다. ItemsSource가 설정되면 뷰 작업이 ItemsSource 컬렉션을 통해 뷰에 위임됩니다. 따라서 ItemCollection은 위임된 뷰가 지원하는 경우에만 정렬, 필터링 및 그룹화가 지원됩니다.

다음 예제에서는 라는 myListBox의 콘텐츠를 정렬하는 ListBox 방법을 보여줍니다. 이 예제 Content 에서 은 정렬할 속성의 이름입니다.

myListBox.Items.SortDescriptions.Add(
    new SortDescription("Content", ListSortDirection.Descending));
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))

이렇게 하면 데이터가 에서 설정되는 방식에 따라 보기가 기본 보기일 수도 있고 그렇지 않을 수도 있습니다 ItemsControl. 예를 들어 속성이 에 ItemsSource 바인딩 CollectionViewSource된 경우 속성을 사용하여 Items 가져오는 뷰는 기본 보기가 아닙니다.

ItemsControl 바인딩된 경우(속성을 사용 ItemsSource 중인 경우) 다음을 수행하여 기본 보기를 가져올 수 있습니다.

CollectionView myView;
Private myView As CollectionView
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)

또는 를 사용하여 CollectionViewSourceXAML에서 필터링, 정렬 및 그룹화 조건을 지정할 수 있습니다.

설명

ItemCollection 는 문자열, 개체, XML 노드, 요소 및 기타 컬렉션과 같은 항목 컬렉션을 유지 관리합니다. 는 ItemsControl 의 데이터를 ItemCollection 사용하여 콘텐츠를 생성합니다. 둘 이상의 컬렉션을 집계하려면 의 속성에 ItemsSourceCompositeCollection 할당합니다ItemsControl.

Items 속성 또는 ItemsSource 속성을 사용하여 의 콘텐츠를 생성하는 데 사용해야 하는 컬렉션을 지정합니다ItemsControl. 속성이 ItemsSource 설정되면 컬렉션은 Items 읽기 전용 및 고정 크기로 만들어집니다. 즉, 사용 하는 ItemsSource 경우는 속성에서 항목을 ItemCollection 추가, 삭제 또는 변경할 수 없습니다는 직접 합니다.

ItemCollectionCollectionView 이므로 정렬, 그룹화 및 필터링과 같은 컬렉션 뷰 기능을 제공합니다. 자세한 내용은 SortDescriptions, FilterGroupDescriptions을 참조하십시오.

컬렉션 뷰에 대한 자세한 내용은 데이터 바인딩 개요를 참조하세요.

속성

AllowsCrossThreadChanges

CollectionView를 만든 스레드 이외의 스레드가 SourceCollection을 변경할 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 CollectionView)
CanChangeLiveFiltering

컬렉션 뷰에서 실시간으로 필터링 데이터 켜기 또는 끄기를 지원하는지 여부를 나타내는 값을 가져옵니다.

CanChangeLiveGrouping

컬렉션 뷰에서 실시간으로 데이터 그룹화의 설정 또는 해제를 지원하는지 여부를 나타내는 값을 가져옵니다.

CanChangeLiveSorting

컬렉션 뷰에서 실시간으로 데이터 정렬의 설정 또는 해제를 지원하는지 여부를 나타내는 값을 가져옵니다.

CanFilter

이 컬렉션 뷰에서 필터링이 지원되는지 여부를 나타내는 값을 가져옵니다.

CanGroup

이 컬렉션 뷰에서 그룹화가 지원되는지 여부를 나타내는 값을 가져옵니다.

CanSort

이 컬렉션 뷰에서 정렬이 지원되는지 여부를 나타내는 값을 가져옵니다.

Comparer

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

(다음에서 상속됨 CollectionView)
Count

컬렉션의 레코드 수를 가져옵니다.

Culture

정렬하는 동안 사용할 문화권 정보를 가져오거나 설정합니다.

(다음에서 상속됨 CollectionView)
CurrentItem

뷰의 현재 항목을 가져옵니다.

CurrentPosition

뷰 내에서 현재 항목의 서수 위치를 가져옵니다.

Dispatcher

Dispatcher와 연결된 DispatcherObject를 가져옵니다.

(다음에서 상속됨 DispatcherObject)
Filter

항목이 뷰에 포함되기에 적합한지 여부를 결정하는 데 사용되는 콜백을 가져오거나 설정합니다.

GroupDescriptions

항목을 그룹화할 방법을 정의하는 GroupDescription 개체의 컬렉션을 가져옵니다.

Groups

GroupDescriptions에 따라 생성된 최상위 그룹을 가져옵니다.

IsCurrentAfterLast

뷰의 현재 항목이 컬렉션의 끝을 벗어나는지 여부를 나타내는 값을 가져옵니다.

IsCurrentBeforeFirst

뷰의 현재 항목이 컬렉션의 시작 부분을 벗어나는지 여부를 나타내는 값을 가져옵니다.

IsCurrentInSync

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

(다음에서 상속됨 CollectionView)
IsDynamic

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

(다음에서 상속됨 CollectionView)
IsEmpty

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

IsInUse

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

(다음에서 상속됨 CollectionView)
IsLiveFiltering

실시간 데이터 필터링을 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.

IsLiveGrouping

실시간 데이터 그룹화를 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.

IsLiveSorting

실시간 정렬을 사용하는지 여부를 나타내는 값을 가져오거나 설정합니다.

IsRefreshDeferred

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

(다음에서 상속됨 CollectionView)
Item[Int32]

지정된 인덱스(0부터 시작)에 있는 항목을 가져오거나 설정합니다.

LiveFilteringProperties

실시간 데이터 필터링에 참여하는 속성을 지정하는 문자열의 컬렉션을 가져옵니다.

LiveGroupingProperties

실시간 데이터 그룹화에 참여하는 속성을 지정하는 문자열의 컬렉션을 가져옵니다.

LiveSortingProperties

실시간 데이터 정렬에 참여하는 속성을 지정하는 문자열의 컬렉션을 가져옵니다.

NeedsRefresh

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

SortDescriptions

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

SourceCollection

이 컬렉션 뷰의 기반이 되는 정렬 및 필터링이 적용되지 않은 컬렉션을 가져옵니다.

UpdatedOutsideDispatcher

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

(다음에서 상속됨 CollectionView)

메서드

Add(Object)

ItemCollection에 항목을 추가합니다.

CheckAccess()

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

(다음에서 상속됨 DispatcherObject)
Clear()

컬렉션을 지우고 현재 컬렉션에 있는 모든 항목에 대한 참조를 해제합니다.

ClearChangeLog()
사용되지 않음.

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

(다음에서 상속됨 CollectionView)
ClearPendingChanges()

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

(다음에서 상속됨 CollectionView)
Contains(Object)

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

CopyTo(Array, Int32)

특정 배열 인덱스부터 시작하여 컬렉션의 요소를 배열에 복사합니다.

DeferRefresh()

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

DetachFromSourceCollection()

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

(다음에서 상속됨 CollectionView)
Equals(Object)

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

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

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

(다음에서 상속됨 CollectionView)
GetHashCode()

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

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

이 뷰에서 지정된 인덱스(0부터 시작)의 항목을 반환합니다.

GetType()

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

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

이 컬렉션에서 지정된 항목이 있는 인덱스를 반환합니다.

Insert(Int32, Object)

컬렉션에서 지정한 인덱스에 요소를 삽입합니다.

MemberwiseClone()

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

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

컬렉션의 지정된 항목을 CurrentItem으로 설정합니다.

MoveCurrentToFirst()

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

MoveCurrentToLast()

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

MoveCurrentToNext()

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

MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious()

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

OKToChangeCurrent()

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

(다음에서 상속됨 CollectionView)
OnAllowsCrossThreadChangesChanged()

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

(다음에서 상속됨 CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
사용되지 않음.

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

(다음에서 상속됨 CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

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

(다음에서 상속됨 CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

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

(다음에서 상속됨 CollectionView)
OnCurrentChanged()

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

(다음에서 상속됨 CollectionView)
OnCurrentChanging()

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

(다음에서 상속됨 CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

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

(다음에서 상속됨 CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

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

(다음에서 상속됨 CollectionView)
PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

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

(다음에서 상속됨 CollectionView)
ProcessPendingChanges()

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

(다음에서 상속됨 CollectionView)
Refresh()

뷰를 다시 만듭니다.

(다음에서 상속됨 CollectionView)
RefreshOrDefer()

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

(다음에서 상속됨 CollectionView)
RefreshOverride()

뷰를 다시 만듭니다.

(다음에서 상속됨 CollectionView)
Remove(Object)

지정된 항목 참조를 컬렉션 또는 뷰에서 제거합니다.

RemoveAt(Int32)

컬렉션 또는 뷰의 지정된 인덱스 있는 항목을 제거합니다.

SetCurrent(Object, Int32)

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

(다음에서 상속됨 CollectionView)
SetCurrent(Object, Int32, Int32)

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

(다음에서 상속됨 CollectionView)
ToString()

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

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

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

(다음에서 상속됨 DispatcherObject)

이벤트

CollectionChanged

뷰가 변경되었을 때 발생합니다.

(다음에서 상속됨 CollectionView)
CurrentChanged

CurrentItem이 변경된 후에 발생합니다.

(다음에서 상속됨 CollectionView)
CurrentChanging

CurrentItem가 변경될 때 발생합니다.

(다음에서 상속됨 CollectionView)
PropertyChanged

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

(다음에서 상속됨 CollectionView)

명시적 인터페이스 구현

ICollection.IsSynchronized

이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ICollection.SyncRoot

이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

IEditableCollectionView.AddNew()

컬렉션에 새 항목을 추가합니다.

IEditableCollectionView.CanAddNew

컬렉션에 새 항목을 추가할 수 있는지 여부를 나타내는 값을 가져옵니다.

IEditableCollectionView.CanCancelEdit

컬렉션 뷰에서 보류 중인 변경 내용을 삭제하고 편집된 개체의 원래 값을 복원할 수 있는지 여부를 나타내는 값을 가져옵니다.

IEditableCollectionView.CancelEdit()

편집 트랜잭션을 끝내고 가능한 경우 항목의 원래 값을 복원합니다.

IEditableCollectionView.CancelNew()

추가 트랜잭션을 끝내고 보류 중인 새 항목을 삭제합니다.

IEditableCollectionView.CanRemove

컬렉션에서 항목을 제거할 수 있는지 여부를 나타내는 값을 가져옵니다.

IEditableCollectionView.CommitEdit()

편집 트랜잭션을 끝내고 보류 중인 변경 내용을 저장합니다.

IEditableCollectionView.CommitNew()

추가 트랜잭션을 끝내고 보류 중인 새 항목을 저장합니다.

IEditableCollectionView.CurrentAddItem

현재 추가 트랜잭션 중에 추가되는 항목을 가져옵니다.

IEditableCollectionView.CurrentEditItem

편집되는 컬렉션의 항목을 가져옵니다.

IEditableCollectionView.EditItem(Object)

지정된 항목에 대해 편집 트랜잭션을 시작합니다.

IEditableCollectionView.IsAddingNew

추가 트랜잭션이 진행 중인지 여부를 나타내는 값을 가져옵니다.

IEditableCollectionView.IsEditingItem

편집 트랜잭션이 진행 중인지 여부를 나타내는 값을 가져옵니다.

IEditableCollectionView.NewItemPlaceholderPosition

컬렉션 뷰에서의 새 항목 자리 표시자 위치를 가져오거나 설정합니다.

IEditableCollectionView.Remove(Object)

컬렉션에서 지정한 항목을 제거합니다.

IEditableCollectionView.RemoveAt(Int32)

컬렉션에서 지정된 위치의 항목을 제거합니다.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

컬렉션에 지정된 개체를 추가합니다.

IEditableCollectionViewAddNewItem.CanAddNewItem

컬렉션에 지정된 개체를 추가할 수 있는지 여부를 나타내는 값을 가져옵니다.

IEnumerable.GetEnumerator()

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

(다음에서 상속됨 CollectionView)
IItemProperties.ItemProperties

컬렉션의 항목에서 사용할 수 있는 속성에 대한 정보를 포함하는 컬렉션을 가져옵니다.

IList.IsFixedSize

이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

IList.IsReadOnly

이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

INotifyCollectionChanged.CollectionChanged

뷰가 변경되었을 때 발생합니다.

(다음에서 상속됨 CollectionView)
INotifyPropertyChanged.PropertyChanged

속성 값이 변경될 때 발생합니다.

(다음에서 상속됨 CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

중앙 집중화된 이벤트 관리자에서 이벤트를 수신합니다.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.

적용 대상

추가 정보