Sdílet prostřednictvím


ItemCollection Třída

Definice

Obsahuje seznam položek, které tvoří obsah objektu 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
Dědičnost
Atributy
Implementuje

Příklady

Pokud máte , ItemsControlnapříklad ListBox , který obsahuje obsah, můžete použít Items vlastnost pro přístup ItemCollectionk , což je zobrazení. Vzhledem k tomu, že se jedná o zobrazení, můžete použít funkce související se zobrazením, jako je řazení, filtrování a seskupování. Všimněte si, že když je nastavená položka ItemsSource, operace zobrazení deleguje zobrazení nad kolekcí ItemsSource. ItemCollection proto podporuje řazení, filtrování a seskupování pouze v případě, že je podporuje delegovaný zobrazení.

Následující příklad ukazuje, jak seřadit obsah pojmenovaného ListBoxmyListBox. V tomto příkladu je název vlastnosti, Content podle které se má řadit.

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

Když to uděláte, zobrazení může nebo nemusí být výchozím zobrazením v závislosti na tom, jak jsou data ve vašem ItemsControlzařízení nastavená. Pokud je například ItemsSource vlastnost vázaná na CollectionViewSourceobjekt , zobrazení, které získáte pomocí Items vlastnosti , není výchozím zobrazením.

Pokud je vaše ItemsControl vlastnost svázaná (používáte ItemsSource vlastnost ), můžete následujícím postupem získat výchozí zobrazení:

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

Alternativně můžete zadat kritéria filtrování, řazení a seskupení v XAML pomocí CollectionViewSource.

Poznámky

ItemCollection udržuje kolekci položek, jako jsou řetězce, objekty, uzly XML, prvky a další kolekce. Objekt ItemsControl používá data v objektu k ItemCollection vygenerování svého obsahu. Pokud chcete agregovat více než jednu kolekci, přiřaďte CompositeCollection vlastnost ItemsSource .ItemsControl

Items Pomocí vlastnosti nebo ItemsSource vlastnosti určete kolekci, která se má použít k vygenerování obsahu .ItemsControl ItemsSource Po nastavení Items vlastnosti se kolekce nastaví jen pro čtení a s pevnou velikostí. To znamená, že pokud používáte ItemsSource vlastnost , nemůžete přímo přidávat, odstraňovat ani měnit položky v objektu ItemCollection .

ItemCollection CollectionView je a proto poskytuje funkce zobrazení kolekcí, jako je řazení, seskupování a filtrování. Další informace najdete v tématech SortDescriptions, Filter a GroupDescriptions.

Další informace o zobrazeních kolekcí najdete v tématu Přehled datových vazeb.

Vlastnosti

AllowsCrossThreadChanges

Získá hodnotu, která označuje, zda vlákno jiné než to, které vytvořilo CollectionView může změnit SourceCollection.

(Zděděno od CollectionView)
CanChangeLiveFiltering

Získá hodnotu, která označuje, zda zobrazení kolekce podporuje zapnutí nebo vypnutí filtrování dat v reálném čase.

CanChangeLiveGrouping

Získá hodnotu, která označuje, zda zobrazení kolekce podporuje zapnutí nebo vypnutí seskupování dat v reálném čase.

CanChangeLiveSorting

Získá hodnotu, která označuje, zda zobrazení kolekce podporuje zapnutí nebo vypnutí řazení dat v reálném čase.

CanFilter

Získá hodnotu, která označuje, zda toto zobrazení kolekce podporuje filtrování.

CanGroup

Získá hodnotu, která označuje, zda toto zobrazení kolekce podporuje seskupení.

CanSort

Získá hodnotu, která označuje, zda toto zobrazení kolekce podporuje řazení.

Comparer

Vrátí objekt, který můžete použít k porovnání položek v zobrazení.

(Zděděno od CollectionView)
Count

Získá počet záznamů v kolekci.

Culture

Získá nebo nastaví informace o jazykové verzi pro použití při řazení.

(Zděděno od CollectionView)
CurrentItem

Získá aktuální položku v zobrazení.

CurrentPosition

Získá řadovou pozici aktuální položky v zobrazení.

Dispatcher

Získá to DispatcherDispatcherObject je přidružena k.

(Zděděno od DispatcherObject)
Filter

Získá nebo nastaví zpětné volání použité k určení, zda je položka vhodná pro zahrnutí v zobrazení.

GroupDescriptions

Získá kolekci GroupDescription objektů, která definuje, jak seskupit položky.

Groups

Získá skupiny nejvyšší úrovně, které jsou vytvořeny podle GroupDescriptions.

IsCurrentAfterLast

Získá hodnotu, která označuje, zda aktuální položka zobrazení je za koncem kolekce.

IsCurrentBeforeFirst

Získá hodnotu, která označuje, zda aktuální položka zobrazení je za začátkem kolekce.

IsCurrentInSync

Získá hodnotu, která označuje, zda CurrentItem je na CurrentPosition.

(Zděděno od CollectionView)
IsDynamic

Získá hodnotu, která označuje, zda podkladová kolekce poskytuje oznámení o změnách.

(Zděděno od CollectionView)
IsEmpty

Získá hodnotu, která označuje, zda je výsledné (filtrované) zobrazení prázdné.

IsInUse

Získá hodnotu, která označuje, zda se některý objekt přihlašuje k odběru událostí tohoto CollectionViewobjektu .

(Zděděno od CollectionView)
IsLiveFiltering

Získá nebo nastaví hodnotu, která označuje, zda je povoleno filtrování dat v reálném čase.

IsLiveGrouping

Získá nebo nastaví hodnotu, která označuje, zda je povoleno seskupení dat v reálném čase.

IsLiveSorting

Získá nebo nastaví hodnotu, která označuje, zda je povoleno řazení v reálném čase.

IsRefreshDeferred

Získá hodnotu, která označuje, zda existuje nevyužitý DeferRefresh() v použití.

(Zděděno od CollectionView)
Item[Int32]

Získá nebo nastaví položku v daném indexu založeném na nule.

LiveFilteringProperties

Získá kolekci řetězců, které určují vlastnosti, které se účastní filtrování dat v reálném čase.

LiveGroupingProperties

Získá kolekci řetězců, které určují vlastnosti, které se účastní seskupení dat v reálném čase.

LiveSortingProperties

Získá kolekci řetězců, které určují vlastnosti, které se účastní řazení dat v reálném čase.

NeedsRefresh

Získá hodnotu, která označuje, zda je potřeba aktualizovat kolekci.

SortDescriptions

Získá kolekci SortDescription objektů, které popisují, jak jsou položky v kolekci seřazeny v zobrazení.

SourceCollection

Získá neseřazené a nefiltrované kolekce, která je základem tohoto zobrazení kolekce.

UpdatedOutsideDispatcher

Získá hodnotu, která označuje, zda bylo nutné aktualizovat protokol změn, protože CollectionChanged oznámení byla přijata v jiném vlákně, aniž by nejprve vstup do uživatelského rozhraní (UI) vlákno dispečer.

(Zděděno od CollectionView)

Metody

Add(Object)

Přidá položku do ItemCollection.

CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
Clear()

Vymaže kolekci a uvolní odkazy na všechny položky aktuálně v kolekci.

ClearChangeLog()
Zastaralé.

Vymaže všechny čekající změny z protokolu změn.

(Zděděno od CollectionView)
ClearPendingChanges()

Vymaže nezpracované změny v kolekci.

(Zděděno od CollectionView)
Contains(Object)

Vrátí hodnotu, která označuje, zda je zadaná položka v tomto zobrazení.

CopyTo(Array, Int32)

Zkopíruje prvky kolekce do pole počínaje určitým indexem pole.

DeferRefresh()

Zadá cyklus odložení, který můžete použít ke sloučení změn zobrazení a zpoždění automatické aktualizace.

DetachFromSourceCollection()

Odebere odkaz na podkladovou kolekci z objektu CollectionView.

(Zděděno od CollectionView)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí objekt, který můžete použít k vytvoření výčtu položek v zobrazení.

(Zděděno od CollectionView)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetItemAt(Int32)

Vrátí položku v zadaném indexu založeném na nule v tomto zobrazení.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IndexOf(Object)

Vrátí index v této kolekci, kde se nachází zadaná položka.

Insert(Int32, Object)

Vloží do kolekce element v zadaném indexu.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MoveCurrentTo(Object)

Nastaví zadanou položku v kolekci CurrentItemna .

MoveCurrentToFirst()

Nastaví první položku v zobrazení na CurrentItem.

MoveCurrentToLast()

Nastaví poslední položku v zobrazení na CurrentItem.

MoveCurrentToNext()

Nastaví položku za objektem CurrentItem v zobrazení na CurrentItem.

MoveCurrentToPosition(Int32)

Nastaví položku v zadaném indexu na hodnotu CurrentItem v zobrazení.

MoveCurrentToPrevious()

Nastaví položku před objektem CurrentItem v zobrazení na CurrentItem.

OKToChangeCurrent()

Vrátí hodnotu, která označuje, jestli zobrazení může změnit, která položka je .CurrentItem

(Zděděno od CollectionView)
OnAllowsCrossThreadChangesChanged()

Vyvolá se při AllowsCrossThreadChanges změně vlastnosti.

(Zděděno od CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Zastaralé.

Volána základní třídou k upozornění odvozené třídy, že CollectionChanged událost byla odeslána do fronty zpráv.

(Zděděno od CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged Vyvolá událost.

(Zděděno od CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

CollectionChanged Vyvolá událost.

(Zděděno od CollectionView)
OnCurrentChanged()

CurrentChanged Vyvolá událost.

(Zděděno od CollectionView)
OnCurrentChanging()

CurrentChanging Vyvolá událost, kterou nelze zrušit.

(Zděděno od CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

CurrentChanging Vyvolá událost se zadanými argumenty.

(Zděděno od CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Vyvolá událost pomocí zadaných argumentů.

(Zděděno od CollectionView)
PassesFilter(Object)

Vrátí hodnotu, která označuje, zda zadaná položka patří do tohoto zobrazení.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Při přepsání v odvozené třídě zpracuje jednu změnu ve vlákně uživatelského rozhraní.

(Zděděno od CollectionView)
ProcessPendingChanges()

Zajišťuje, že všechny čekající změny kolekce byly potvrzeny.

(Zděděno od CollectionView)
Refresh()

Znovu vytvoří zobrazení.

(Zděděno od CollectionView)
RefreshOrDefer()

Aktualizuje zobrazení nebo určuje, že se má zobrazení aktualizovat po dokončení cyklu odložení.

(Zděděno od CollectionView)
RefreshOverride()

Znovu vytvoří zobrazení.

(Zděděno od CollectionView)
Remove(Object)

Odebere zadaný odkaz na položku z kolekce nebo zobrazení.

RemoveAt(Int32)

Odebere položku v zadaném indexu kolekce nebo zobrazení.

SetCurrent(Object, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem vlastností a CurrentPosition .

(Zděděno od CollectionView)
SetCurrent(Object, Int32, Int32)

Nastaví zadanou položku a index jako hodnoty CurrentItem vlastností a CurrentPosition . Tuto metodu lze volat z konstruktoru odvozené třídy.

(Zděděno od CollectionView)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Událost

CollectionChanged

Vyvolá se při změně zobrazení.

(Zděděno od CollectionView)
CurrentChanged

Vyvolá se po CurrentItem změně.

(Zděděno od CollectionView)
CurrentChanging

Vyvolá se při CurrentItem změně.

(Zděděno od CollectionView)
PropertyChanged

Vyvolá se při změně hodnoty vlastnosti.

(Zděděno od CollectionView)

Explicitní implementace rozhraní

ICollection.IsSynchronized

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

ICollection.SyncRoot

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

IEditableCollectionView.AddNew()

Přidá do kolekce novou položku.

IEditableCollectionView.CanAddNew

Získá hodnotu, která označuje, zda lze do kolekce přidat novou položku.

IEditableCollectionView.CanCancelEdit

Získá hodnotu, která označuje, zda zobrazení kolekce může zahodit čekající změny a obnovit původní hodnoty upravovaného objektu.

IEditableCollectionView.CancelEdit()

Ukončí transakci úprav a pokud je to možné, obnoví původní hodnotu položky.

IEditableCollectionView.CancelNew()

Ukončí transakci přidání a zahodí čekající novou položku.

IEditableCollectionView.CanRemove

Získá hodnotu, která označuje, zda lze položku odebrat z kolekce.

IEditableCollectionView.CommitEdit()

Ukončí transakci úprav a uloží čekající změny.

IEditableCollectionView.CommitNew()

Ukončí transakci přidání a uloží novou položku čekající na vyřízení.

IEditableCollectionView.CurrentAddItem

Získá položku, která je přidána během aktuální transakce přidání.

IEditableCollectionView.CurrentEditItem

Získá položku v kolekci, která je upravována.

IEditableCollectionView.EditItem(Object)

Zahájí transakci úprav zadané položky.

IEditableCollectionView.IsAddingNew

Získá hodnotu, která označuje, zda probíhá transakce přidání.

IEditableCollectionView.IsEditingItem

Získá hodnotu, která označuje, zda probíhá transakce úprav.

IEditableCollectionView.NewItemPlaceholderPosition

Získá nebo nastaví pozici zástupného symbolu nové položky v zobrazení kolekce.

IEditableCollectionView.Remove(Object)

Odebere zadanou položku z kolekce.

IEditableCollectionView.RemoveAt(Int32)

Odebere položku na zadaném místě z kolekce.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Přidá zadaný objekt do kolekce.

IEditableCollectionViewAddNewItem.CanAddNewItem

Získá hodnotu, která označuje, zda zadaný objekt lze přidat do kolekce.

IEnumerable.GetEnumerator()

IEnumerator Vrátí objekt, který můžete použít k vytvoření výčtu položek v zobrazení.

(Zděděno od CollectionView)
IItemProperties.ItemProperties

Získá kolekci, která obsahuje informace o vlastnostech, které jsou k dispozici položky v kolekci.

IList.IsFixedSize

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

IList.IsReadOnly

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

INotifyCollectionChanged.CollectionChanged

Vyvolá se při změně zobrazení.

(Zděděno od CollectionView)
INotifyPropertyChanged.PropertyChanged

Vyvolá se při změně hodnoty vlastnosti.

(Zděděno od CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Přijímá události z centralizovaného správce událostí.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také