CollectionView Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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. |