Udostępnij za pośrednictwem


ItemCollection Klasa

Definicja

Zawiera listę elementów, które stanowią zawartość obiektu 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
Dziedziczenie
Atrybuty
Implementuje

Przykłady

Jeśli masz obiekt ItemsControl, taki jak obiekt ListBox z zawartością, możesz użyć Items właściwości , aby uzyskać dostęp do ItemCollectionobiektu , który jest widokiem. Ponieważ jest to widok, możesz następnie użyć funkcji związanych z widokiem, takich jak sortowanie, filtrowanie i grupowanie. Należy pamiętać, że po ustawieniu elementu ItemsSource operacje widoku są delegowane do widoku w kolekcji ItemsSource. W związku z tym element ItemCollection obsługuje sortowanie, filtrowanie i grupowanie tylko wtedy, gdy widok delegowany je obsługuje.

W poniższym przykładzie pokazano, jak posortować zawartość ListBox o nazwie myListBox. W tym przykładzie Content jest nazwą właściwości do sortowania.

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

W takim przypadku widok może lub nie jest widokiem domyślnym, w zależności od sposobu konfigurowania danych w programie ItemsControl. Na przykład gdy ItemsSource właściwość jest powiązana z obiektem CollectionViewSource, widok uzyskiwany za pomocą Items właściwości nie jest widokiem domyślnym.

Jeśli element ItemsControl jest powiązany (używasz ItemsSource właściwości ), możesz wykonać następujące czynności, aby uzyskać widok domyślny:

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

Alternatywnie można określić kryteria filtrowania, sortowania i grupowania w języku XAML przy użyciu polecenia CollectionViewSource.

Uwagi

ItemCollection Przechowuje kolekcję elementów, takich jak ciągi, obiekty, węzły XML, elementy i inne kolekcje. Obiekt ItemsControl używa danych w obiekcie ItemCollection , aby wygenerować jego zawartość. Jeśli chcesz agregować więcej niż jedną kolekcję, przypisz obiekt CompositeCollection do ItemsSource właściwości obiektu ItemsControl.

Items Użyj właściwości lub ItemsSource właściwości , aby określić kolekcję, która ma być używana do generowania zawartości elementu ItemsControl. Po ustawieniu ItemsSourceItems właściwości kolekcja zostanie ustawiona tylko do odczytu i ma stały rozmiar. Oznacza to, że jeśli używasz ItemsSource właściwości , nie można dodawać, usuwać ani zmieniać elementów bezpośrednio ItemCollection .

ItemCollection jest elementem CollectionView i dlatego udostępnia funkcje widoku kolekcji, takie jak sortowanie, grupowanie i filtrowanie. Aby uzyskać więcej informacji, zobacz tematy SortDescriptions, Filter oraz GroupDescriptions.

Aby uzyskać więcej informacji na temat widoków kolekcji, zobacz Omówienie powiązania danych.

Właściwości

AllowsCrossThreadChanges

Pobiera wartość wskazującą, czy wątek inny niż ten, który utworzył CollectionView obiekt , może zmienić wartość SourceCollection.

(Odziedziczone po CollectionView)
CanChangeLiveFiltering

Pobiera wartość wskazującą, czy widok kolekcji obsługuje włączanie lub wyłączanie filtrowania danych w czasie rzeczywistym.

CanChangeLiveGrouping

Pobiera wartość wskazującą, czy widok kolekcji obsługuje włączanie lub wyłączanie grupowania danych w czasie rzeczywistym.

CanChangeLiveSorting

Pobiera wartość wskazującą, czy widok kolekcji obsługuje włączanie i wyłączanie sortowania danych w czasie rzeczywistym.

CanFilter

Pobiera wartość wskazującą, czy ten widok kolekcji obsługuje filtrowanie.

CanGroup

Pobiera wartość wskazującą, czy ten widok kolekcji obsługuje grupowanie.

CanSort

Pobiera wartość wskazującą, czy ten widok kolekcji obsługuje sortowanie.

Comparer

Zwraca obiekt, którego można użyć do porównywania elementów w widoku.

(Odziedziczone po CollectionView)
Count

Pobiera liczbę rekordów w kolekcji.

Culture

Pobiera lub ustawia informacje o kulturze do użycia podczas sortowania.

(Odziedziczone po CollectionView)
CurrentItem

Pobiera bieżący element w widoku.

CurrentPosition

Pobiera pozycję porządkową bieżącego elementu w widoku.

Dispatcher

Pobiera element, z Dispatcher który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
Filter

Pobiera lub ustawia wywołanie zwrotne używane do określenia, czy element jest odpowiedni do włączenia do widoku.

GroupDescriptions

Pobiera kolekcję GroupDescription obiektów definiujących sposób grupowania elementów.

Groups

Pobiera grupy najwyższego poziomu, które są tworzone zgodnie z .GroupDescriptions

IsCurrentAfterLast

Pobiera wartość wskazującą, czy bieżący element widoku znajduje się poza końcem kolekcji.

IsCurrentBeforeFirst

Pobiera wartość wskazującą, czy bieżący element widoku wykracza poza początek kolekcji.

IsCurrentInSync

Pobiera wartość wskazującą, czy element CurrentItem znajduje się w obiekcie CurrentPosition.

(Odziedziczone po CollectionView)
IsDynamic

Pobiera wartość wskazującą, czy podstawowa kolekcja udostępnia powiadomienia o zmianie.

(Odziedziczone po CollectionView)
IsEmpty

Pobiera wartość wskazującą, czy wynikowy (filtrowany) widok jest pusty.

IsInUse

Pobiera wartość wskazującą, czy dowolny obiekt subskrybuje zdarzenia tego CollectionViewobiektu .

(Odziedziczone po CollectionView)
IsLiveFiltering

Pobiera lub ustawia wartość wskazującą, czy filtrowanie danych w czasie rzeczywistym jest włączone.

IsLiveGrouping

Pobiera lub ustawia wartość wskazującą, czy grupowanie danych w czasie rzeczywistym jest włączone.

IsLiveSorting

Pobiera lub ustawia wartość wskazującą, czy sortowanie w czasie rzeczywistym jest włączone.

IsRefreshDeferred

Pobiera wartość, która wskazuje, czy istnieje zaległe DeferRefresh() użycie.

(Odziedziczone po CollectionView)
Item[Int32]

Pobiera lub ustawia element w danym indeksie opartym na zera.

LiveFilteringProperties

Pobiera kolekcję ciągów, które określają właściwości, które uczestniczą w filtrowaniu danych w czasie rzeczywistym.

LiveGroupingProperties

Pobiera kolekcję ciągów, które określają właściwości, które uczestniczą w grupowaniu danych w czasie rzeczywistym.

LiveSortingProperties

Pobiera kolekcję ciągów, które określają właściwości, które uczestniczą w sortowaniu danych w czasie rzeczywistym.

NeedsRefresh

Pobiera wartość wskazującą, czy kolekcja musi zostać odświeżona.

SortDescriptions

Pobiera kolekcję SortDescription obiektów opisujących sposób sortowania elementów w kolekcji w widoku.

SourceCollection

Pobiera nieposortowaną i niefiltrowaną kolekcję, która jest pod tym widokiem kolekcji.

UpdatedOutsideDispatcher

Pobiera wartość wskazującą, czy konieczne było zaktualizowanie dziennika zmian, ponieważ CollectionChanged powiadomienie zostało odebrane w innym wątku bez uprzedniego wprowadzenia dyspozytora wątku interfejsu użytkownika.

(Odziedziczone po CollectionView)

Metody

Add(Object)

Dodaje element do elementu ItemCollection.

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
Clear()

Czyści kolekcję i zwalnia odwołania do wszystkich elementów znajdujących się obecnie w kolekcji.

ClearChangeLog()
Przestarzałe.

Czyści wszelkie oczekujące zmiany z dziennika zmian.

(Odziedziczone po CollectionView)
ClearPendingChanges()

Czyści nieprzetworzone zmiany w kolekcji.

(Odziedziczone po CollectionView)
Contains(Object)

Zwraca wartość wskazującą, czy określony element znajduje się w tym widoku.

CopyTo(Array, Int32)

Kopiuje elementy kolekcji do tablicy, zaczynając od określonego indeksu tablicy.

DeferRefresh()

Wprowadza cykl odroczenia, którego można użyć do scalania zmian w widoku i opóźnienia automatycznego odświeżania.

DetachFromSourceCollection()

Usuwa odwołanie do kolekcji bazowej z elementu CollectionView.

(Odziedziczone po CollectionView)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca obiekt, którego można użyć do wyliczenia elementów w widoku.

(Odziedziczone po CollectionView)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetItemAt(Int32)

Zwraca element w określonym indeksie opartym na zerze w tym widoku.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IndexOf(Object)

Zwraca indeks w tej kolekcji, w której znajduje się określony element.

Insert(Int32, Object)

Wstawia element do kolekcji w określonym indeksie.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MoveCurrentTo(Object)

Ustawia określony element w kolekcji jako CurrentItem.

MoveCurrentToFirst()

Ustawia pierwszy element w widoku jako CurrentItem.

MoveCurrentToLast()

Ustawia ostatni element w widoku jako CurrentItem.

MoveCurrentToNext()

Ustawia element po elemencie CurrentItem w widoku jako CurrentItem.

MoveCurrentToPosition(Int32)

Ustawia element w określonym indeksie jako element CurrentItem w widoku.

MoveCurrentToPrevious()

Ustawia element przed elementem CurrentItem w widoku jako CurrentItem.

OKToChangeCurrent()

Zwraca wartość wskazującą, czy widok może zmienić, który element to CurrentItem.

(Odziedziczone po CollectionView)
OnAllowsCrossThreadChangesChanged()

Występuje, gdy AllowsCrossThreadChanges właściwość ulegnie zmianie.

(Odziedziczone po CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Przestarzałe.

Wywoływana przez klasę bazową w celu powiadomienia klasy pochodnej o tym, że CollectionChanged zdarzenie zostało opublikowane w kolejce komunikatów.

(Odziedziczone po CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged Zgłasza zdarzenie.

(Odziedziczone po CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

CollectionChanged Zgłasza zdarzenie.

(Odziedziczone po CollectionView)
OnCurrentChanged()

CurrentChanged Zgłasza zdarzenie.

(Odziedziczone po CollectionView)
OnCurrentChanging()

Zgłasza zdarzenie CurrentChanging , które nie jest możliwe do anulowania.

(Odziedziczone po CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

CurrentChanging Wywołuje zdarzenie z określonymi argumentami.

(Odziedziczone po CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Wywołuje zdarzenie przy użyciu określonych argumentów.

(Odziedziczone po CollectionView)
PassesFilter(Object)

Zwraca wartość wskazującą, czy określony element należy do tego widoku.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Po zastąpieniu w klasie pochodnej przetwarza pojedynczą zmianę wątku interfejsu użytkownika.

(Odziedziczone po CollectionView)
ProcessPendingChanges()

Gwarantuje, że wszystkie oczekujące zmiany w kolekcji zostały zatwierdzone.

(Odziedziczone po CollectionView)
Refresh()

Ponownie tworzy widok.

(Odziedziczone po CollectionView)
RefreshOrDefer()

Odświeża widok lub określa, że widok musi zostać odświeżony po zakończeniu cyklu odroczenia.

(Odziedziczone po CollectionView)
RefreshOverride()

Ponownie tworzy widok.

(Odziedziczone po CollectionView)
Remove(Object)

Usuwa odwołanie do określonego elementu z kolekcji lub widoku.

RemoveAt(Int32)

Usuwa element w określonym indeksie kolekcji lub widoku.

SetCurrent(Object, Int32)

Ustawia określony element i indeks jako wartości CurrentItem właściwości i CurrentPosition .

(Odziedziczone po CollectionView)
SetCurrent(Object, Int32, Int32)

Ustawia określony element i indeks jako wartości CurrentItem właściwości i CurrentPosition . Tę metodę można wywołać z konstruktora klasy pochodnej.

(Odziedziczone po CollectionView)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

CollectionChanged

Występuje, gdy widok uległ zmianie.

(Odziedziczone po CollectionView)
CurrentChanged

Występuje po CurrentItem zmianie.

(Odziedziczone po CollectionView)
CurrentChanging

Występuje, gdy zmienia CurrentItem się.

(Odziedziczone po CollectionView)
PropertyChanged

Występuje, gdy wartość właściwości została zmieniona.

(Odziedziczone po CollectionView)

Jawne implementacje interfejsu

ICollection.IsSynchronized

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

ICollection.SyncRoot

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

IEditableCollectionView.AddNew()

Dodaje nowy element do kolekcji.

IEditableCollectionView.CanAddNew

Pobiera wartość wskazującą, czy można dodać nowy element do kolekcji.

IEditableCollectionView.CanCancelEdit

Pobiera wartość wskazującą, czy widok kolekcji może odrzucić oczekujące zmiany i przywrócić oryginalne wartości edytowanego obiektu.

IEditableCollectionView.CancelEdit()

Kończy edycję transakcji i, jeśli to możliwe, przywraca oryginalną wartość do elementu.

IEditableCollectionView.CancelNew()

Kończy dodawanie transakcji i odrzuca oczekujący nowy element.

IEditableCollectionView.CanRemove

Pobiera wartość wskazującą, czy element można usunąć z kolekcji.

IEditableCollectionView.CommitEdit()

Kończy edycję transakcji i zapisuje oczekujące zmiany.

IEditableCollectionView.CommitNew()

Kończy dodawanie transakcji i zapisuje oczekujący nowy element.

IEditableCollectionView.CurrentAddItem

Pobiera element, który jest dodawany podczas bieżącej transakcji dodawania.

IEditableCollectionView.CurrentEditItem

Pobiera element w kolekcji, który jest edytowany.

IEditableCollectionView.EditItem(Object)

Rozpoczyna edycję transakcji określonego elementu.

IEditableCollectionView.IsAddingNew

Pobiera wartość wskazującą, czy transakcja dodawania jest w toku.

IEditableCollectionView.IsEditingItem

Pobiera wartość wskazującą, czy transakcja edycji jest w toku.

IEditableCollectionView.NewItemPlaceholderPosition

Pobiera lub ustawia położenie symbolu zastępczego nowego elementu w widoku kolekcji.

IEditableCollectionView.Remove(Object)

Usuwa określony element z kolekcji.

IEditableCollectionView.RemoveAt(Int32)

Usuwa element na określonej pozycji z kolekcji.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Dodaje określony obiekt do kolekcji.

IEditableCollectionViewAddNewItem.CanAddNewItem

Pobiera wartość wskazującą, czy określony obiekt można dodać do kolekcji.

IEnumerable.GetEnumerator()

IEnumerator Zwraca obiekt, którego można użyć do wyliczenia elementów w widoku.

(Odziedziczone po CollectionView)
IItemProperties.ItemProperties

Pobiera kolekcję zawierającą informacje o właściwościach dostępnych w elementach w kolekcji.

IList.IsFixedSize

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

IList.IsReadOnly

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

INotifyCollectionChanged.CollectionChanged

Występuje, gdy widok uległ zmianie.

(Odziedziczone po CollectionView)
INotifyPropertyChanged.PropertyChanged

Występuje, gdy zmienia się wartość właściwości.

(Odziedziczone po CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Odbiera zdarzenia od scentralizowanego menedżera zdarzeń.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy obiektu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też