CollectionView Osztály

Definíció

Az adatgyűjtés csoportosítására, rendezésére, szűrésére és navigálására szolgáló nézetet jelöl.

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
Öröklődés
CollectionView
Származtatott
Megvalósítás

Megjegyzések

Ne hozzon létre objektumokat ennek az osztálynak a kódjában. Ha csak implementálható IEnumerablegyűjtemény gyűjteménynézetét szeretné létrehozni, hozzon létre egy CollectionViewSource objektumot, adja hozzá a gyűjteményt a Source tulajdonsághoz, és kérje le a gyűjteménynézetet a View tulajdonságból.

A gyűjteménynézetek olyan rétegként is felfoghatók egy kötésforrás-gyűjtemény tetején, amely lehetővé teszi, hogy rendezési, szűrési és csoportosítási lekérdezések alapján navigáljon és jelenítse meg a gyűjteményt, mindezt anélkül, hogy magát a forrásgyűjteményt kellene módosítania. Ha a forrásgyűjtemény implementálja a INotifyCollectionChanged felületet, a rendszer propagálja az CollectionChanged eseményt okozó módosításokat a nézetekbe.

Mivel egy nézet nem módosítja az alapul szolgáló forrásgyűjteményt, a forrásgyűjteményhez több nézet is társítható. A nézetek használatával ugyanazokat az adatokat különböző módokon jelenítheti meg. Egy objektumgyűjtemény két nézetével Task például megjelenítheti a feladatok prioritás szerinti rendezését a lap egyik részén, és a lap egy másik részén terület szerint csoportosítva.

WPF alkalmazásokban minden gyűjteményhez tartozik egy alapértelmezett gyűjteménynézet. A gyűjtemény közvetlen használata helyett a kötési motor mindig a társított nézeten keresztül fér hozzá a gyűjteményhez. Az alapértelmezett nézet lekéréséhez használja a metódust CollectionViewSource.GetDefaultView . A csak CollectionViewimplementálható gyűjtemények alapértelmezett nézete egy belső osztály alapjánIEnumerable. ListCollectionView a implementálandó IListgyűjtemények alapértelmezett nézete. BindingListCollectionViewaz alapértelmezett nézet a megvalósító vagy IBindingListViewmegvalósító IBindingList gyűjteményekhez.

Másik lehetőségként létrehozhat egy nézetet a gyűjteményről az XAML (Extensible Application Markup Language, Extensible Application Markup Language, XAML) nyelven az CollectionViewSource osztály használatával, majd a vezérlőt ehhez a nézethez kötheti. Az CollectionViewSource osztály az osztály XAML-ábrázolása CollectionView . Példa : Az adatok rendezése és csoportosítása nézet használatával az XAML-ben.

További információért lásd a "Kötés gyűjteményekhez" című részt az Adatkötés áttekintése című részben.

Ha XAML-ben szeretne nézetet beállítani, használja az osztályt CollectionViewSource . CollectionViewSource az osztály XAML-ábrázolása CollectionView , amely az osztály leggyakrabban használt tagjait CollectionView teszi elérhetővé.

Konstruktorok

Name Description
CollectionView(IEnumerable)

Inicializálja az CollectionView osztály új példányát, amely a megadott gyűjtemény nézetét jelöli.

Tulajdonságok

Name Description
AllowsCrossThreadChanges

Olyan értéket kap, amely azt jelzi, hogy az azt létrehozótól eltérő szál módosíthatja-e a CollectionViewSourceCollection.

CanFilter

Olyan értéket kap, amely jelzi, hogy a nézet támogatja-e a szűrést.

CanGroup

Olyan értéket kap, amely jelzi, hogy a nézet támogatja-e a csoportosítást.

CanSort

Olyan értéket kap, amely jelzi, hogy a nézet támogatja-e a rendezést.

Comparer

Egy objektumot ad vissza, amellyel összehasonlíthatja a nézetben lévő elemeket.

Count

Lekéri a nézetben lévő rekordok számát.

Culture

Lekéri vagy beállítja a rendezés során használni kívánt kulturális információkat.

CurrentItem

Lekéri az aktuális elemet a nézetben.

CurrentPosition

Lekéri a (opcionálisan rendezett és szűrt) nézeten belüli sorrendi pozíciót CurrentItem .

Dispatcher

Lekérdezi, Dispatcher hogy ez a társítva van-e DispatcherObject .

(Öröklődés forrása DispatcherObject)
Filter

Lekéri vagy beállít egy metódust, amely meghatározza, hogy egy elem alkalmas-e a nézetbe való felvételre.

GroupDescriptions

Olyan objektumgyűjteményt GroupDescription kap, amely leírja, hogy a gyűjtemény elemei hogyan vannak csoportosítva a nézetben.

Groups

Lekéri a tulajdonság alapján létrehozott legfelső szintű csoportok gyűjteményét GroupDescriptions .

IsCurrentAfterLast

Olyan értéket kap, amely jelzi, hogy a CurrentItem nézet túl van-e a gyűjtemény végén.

IsCurrentBeforeFirst

Olyan értéket kap, amely jelzi, hogy a CurrentItem nézet a gyűjtemény kezdete előtt van-e.

IsCurrentInSync

Olyan értéket kap, amely jelzi, hogy a CurrentItemCurrentPosition.

IsDynamic

Lekéri azt az értéket, amely jelzi, hogy az alapul szolgáló gyűjtemény módosítási értesítéseket biztosít-e.

IsEmpty

Olyan értéket kap, amely jelzi, hogy az eredményül kapott (szűrt) nézet üres-e.

IsInUse

Olyan értéket kap, amely jelzi, hogy egy objektum feliratkozik-e ennek CollectionViewaz eseménynek az eseményeire.

IsRefreshDeferred

Olyan értéket kap, amely jelzi, hogy van-e használatban függőben DeferRefresh() lévő érték.

NeedsRefresh

Olyan értéket kap, amely jelzi, hogy frissíteni kell-e a nézetet.

NewItemPlaceholder

Lekéri a gyűjteményben lévő objektumot, hogy egy új elemet jelöljön.

SortDescriptions

Lekéri a SortDescription gyűjtemény elemeinek nézetben való rendezését leíró struktúrák gyűjteményét.

SourceCollection

A mögöttes szűretlen gyűjteményt adja vissza.

UpdatedOutsideDispatcher

Olyan értéket kap, amely jelzi, hogy szükséges volt-e frissíteni a változásnaplót, mert egy CollectionChanged másik szálra érkezett értesítés anélkül, hogy először be kellett volna lépnie a felhasználói felület (UI) szál-diszpécserébe.

Metódusok

Name Description
CheckAccess()

Meghatározza, hogy a hívó szál hozzáfér-e ehhez DispatcherObject.

(Öröklődés forrása DispatcherObject)
ClearChangeLog()
Elavult.

Törli a függőben lévő módosításokat a változásnaplóból.

ClearPendingChanges()

Törli a gyűjteményre módosított feldolgozatlanokat.

Contains(Object)

Olyan értéket ad vissza, amely jelzi, hogy a megadott elem a nézethez tartozik-e.

DeferRefresh()

Halasztási ciklust ad meg, amellyel egyesítheti a nézet módosításait, és késleltetheti az automatikus frissítést.

DetachFromSourceCollection()

Eltávolítja a mögöttes gyűjteményre mutató hivatkozást a CollectionView.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetEnumerator()

Egy objektumot ad vissza, amellyel számba vehet elemeket a nézetben.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetItemAt(Int32)

Lekéri az elemet a megadott nulla alapú indexben a nézetben.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IndexOf(Object)

Azt az indexet adja vissza, amelyen a megadott elem található.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MoveCurrentTo(Object)

Beállítja, hogy a megadott elem legyen a CurrentItem nézetben.

MoveCurrentToFirst()

A nézet első elemét állítja be .CurrentItem

MoveCurrentToLast()

A nézetben az utolsó elemet állítja be .CurrentItem

MoveCurrentToNext()

Beállítja az elemet a CurrentItem nézetben a következőként CurrentItem: .

MoveCurrentToPosition(Int32)

Beállítja, hogy az elem a megadott indexben legyen a CurrentItem nézetben.

MoveCurrentToPrevious()

Beállítja az elemet a CurrentItem nézetben CurrentItem.

OKToChangeCurrent()

Olyan értéket ad vissza, amely jelzi, hogy a nézet módosíthatja-e, hogy melyik elem a CurrentItem.

OnAllowsCrossThreadChangesChanged()

A tulajdonság megváltozásakor AllowsCrossThreadChanges fordul elő.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Elavult.

Az alaposztály meghívta, hogy értesítse a származtatott osztályt arról, hogy egy CollectionChanged eseményt közzétettek az üzenetsorba.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Az eseményt emeli CollectionChanged ki.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Az eseményt emeli CollectionChanged ki.

OnCurrentChanged()

Az eseményt emeli CurrentChanged ki.

OnCurrentChanging()

Olyan eseményt CurrentChanging hoz létre, amely nem törölhető.

OnCurrentChanging(CurrentChangingEventArgs)

Az eseményt a CurrentChanging megadott argumentumokkal emeli ki.

OnPropertyChanged(PropertyChangedEventArgs)

Az eseményt a PropertyChanged megadott argumentumokkal emeli ki.

PassesFilter(Object)

Olyan értéket ad vissza, amely jelzi, hogy az alapul szolgáló gyűjteményben megadott elem a nézethez tartozik-e.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Ha egy származtatott osztályban felül van bírálva, a felhasználói felület szálán egyetlen módosítást dolgoz fel.

ProcessPendingChanges()

Biztosítja, hogy a gyűjtemény összes függőben lévő módosítása véglegesítése megtörtént.

Refresh()

Hozza létre újra a nézetet.

RefreshOrDefer()

Frissíti a nézetet, vagy megadja, hogy a nézetet frissíteni kell a halasztási ciklus befejeződésekor.

RefreshOverride()

Hozza létre újra a nézetet.

SetCurrent(Object, Int32, Int32)

Beállítja a megadott elemet és indexet a CurrentItem tulajdonságok értékeiként CurrentPosition . Ez a metódus egy származtatott osztály konstruktorából hívható meg.

SetCurrent(Object, Int32)

Beállítja a megadott elemet és indexet a CurrentItem tulajdonságok értékeiként CurrentPosition .

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
VerifyAccess()

Kényszeríti, hogy a hívószál hozzáférhessen ehhez.DispatcherObject

(Öröklődés forrása DispatcherObject)

esemény

Name Description
CollectionChanged

Akkor fordul elő, ha a nézet megváltozott.

CurrentChanged

A módosítás után CurrentItem következik be.

CurrentChanging

A változókor CurrentItem következik be.

PropertyChanged

Akkor fordul elő, ha egy tulajdonság értéke megváltozott.

Explicit interfész-implementációk

Name Description
IEnumerable.GetEnumerator()

Egy IEnumerator objektumot ad vissza, amellyel számba vehet elemeket a nézetben.

INotifyCollectionChanged.CollectionChanged

Akkor fordul elő, ha a nézet megváltozott.

INotifyPropertyChanged.PropertyChanged

Akkor fordul elő, ha egy tulajdonság értéke megváltozik.

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes: