CollectionView Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en vy för gruppering, sortering, filtrering och navigering av en datainsamling.
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
- Arv
- Härledda
- Implementeringar
Kommentarer
Du bör inte skapa objekt för den här klassen i koden. Om du vill skapa en samlingsvy för en samling som bara implementerar IEnumerableskapar du ett CollectionViewSource objekt, lägger till samlingen i Source egenskapen och hämtar samlingsvyn från View egenskapen.
Du kan se en samlingsvy som ett lager ovanpå en bindningskälla som gör att du kan navigera och visa samlingen baserat på sorterings-, filter- och gruppfrågor, allt utan att behöva ändra själva den underliggande källsamlingen. Om källsamlingen INotifyCollectionChanged implementerar gränssnittet sprids ändringarna som genererar CollectionChanged händelsen till vyerna.
Eftersom en vy inte ändrar den underliggande källsamlingen kan en källsamling ha flera vyer associerade med den. Genom att använda vyer kan du visa samma data på olika sätt. Du kan till exempel använda två vyer i en samling Task objekt för att visa aktiviteter sorterade efter prioritet på en del av sidan och grupperade efter område på en annan del av sidan.
I WPF program har alla samlingar en associerad standardsamlingsvy. I stället för att arbeta direkt med samlingen kommer bindningsmotorn alltid åt samlingen via den associerade vyn. Använd metoden för CollectionViewSource.GetDefaultView att hämta standardvyn. En intern klass som baseras på CollectionView är standardvyn för samlingar som endast IEnumerableimplementerar . ListCollectionView är standardvyn för samlingar som implementerar IList. BindingListCollectionView är standardvyn för samlingar som implementerar IBindingListView eller IBindingList.
Du kan också skapa en vy över din samling i XAML (Extensible Application Markup Language) med hjälp CollectionViewSource av klassen och sedan binda kontrollen till den vyn. Klassen CollectionViewSource är XAML-representationen av CollectionView klassen. Ett exempel finns i Så här: Sortera och gruppera data med hjälp av en vy i XAML.
Mer information finns i "Bindning till samlingar" i Översikt över databindning.
Om du vill ange en vy i XAML använder du CollectionViewSource klassen . CollectionViewSource är XAML-representationen CollectionView av klassen och exponerar de vanligaste medlemmarna i CollectionView klassen.
Konstruktorer
| Name | Description |
|---|---|
| CollectionView(IEnumerable) |
Initierar en ny instans av CollectionView klassen som representerar en vy över den angivna samlingen. |
Egenskaper
| Name | Description |
|---|---|
| AllowsCrossThreadChanges |
Hämtar ett värde som anger om en annan tråd än den som skapade CollectionView kan ändra SourceCollection. |
| CanFilter |
Hämtar ett värde som anger om vyn stöder filtrering. |
| CanGroup |
Hämtar ett värde som anger om vyn stöder gruppering. |
| CanSort |
Hämtar ett värde som anger om vyn stöder sortering. |
| Comparer |
Returnerar ett objekt som du kan använda för att jämföra objekt i vyn. |
| Count |
Hämtar antalet poster i vyn. |
| Culture |
Hämtar eller anger den kulturinformation som ska användas under sortering. |
| CurrentItem |
Hämtar det aktuella objektet i vyn. |
| CurrentPosition |
Hämtar ordningspositionen för CurrentItem vyn (valfritt sorterad och filtrerad). |
| Dispatcher |
Hämtar det Dispatcher som DispatcherObject är associerat med. (Ärvd från DispatcherObject) |
| Filter |
Hämtar eller anger en metod som används för att avgöra om ett objekt är lämpligt för inkludering i vyn. |
| GroupDescriptions |
Hämtar en samling GroupDescription objekt som beskriver hur objekten i samlingen grupperas i vyn. |
| Groups |
Hämtar en samling av de översta grupperna som skapas baserat på GroupDescriptions egenskapen. |
| IsCurrentAfterLast |
Hämtar ett värde som anger om CurrentItem vyn ligger utanför slutet av samlingen. |
| IsCurrentBeforeFirst |
Hämtar ett värde som anger om CurrentItem vyn är före samlingens början. |
| IsCurrentInSync |
Hämtar ett värde som anger om CurrentItem är på CurrentPosition. |
| IsDynamic |
Hämtar ett värde som anger om den underliggande samlingen tillhandahåller ändringsmeddelanden. |
| IsEmpty |
Hämtar ett värde som anger om den resulterande (filtrerade) vyn är tom. |
| IsInUse |
Hämtar ett värde som anger om något objekt prenumererar på händelserna i detta CollectionView. |
| IsRefreshDeferred |
Hämtar ett värde som anger om det finns en utestående DeferRefresh() användning. |
| NeedsRefresh |
Hämtar ett värde som anger om vyn behöver uppdateras. |
| NewItemPlaceholder |
Hämtar objektet som finns i samlingen för att representera ett nytt objekt. |
| SortDescriptions |
Hämtar en samling SortDescription strukturer som beskriver hur objekten i samlingen sorteras i vyn. |
| SourceCollection |
Returnerar den underliggande ofiltrerade samlingen. |
| UpdatedOutsideDispatcher |
Hämtar ett värde som anger om det har varit nödvändigt att uppdatera ändringsloggen eftersom ett CollectionChanged meddelande har tagits emot i en annan tråd utan att först ange användarens gränssnittstrådsavsändare. |
Metoder
| Name | Description |
|---|---|
| CheckAccess() |
Avgör om den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| ClearChangeLog() |
Föråldrad.
Rensar eventuella väntande ändringar från ändringsloggen. |
| ClearPendingChanges() |
Rensar obearbetade ändringar i samlingen. |
| Contains(Object) |
Returnerar ett värde som anger om det angivna objektet tillhör vyn. |
| DeferRefresh() |
Anger en skjutningscykel som du kan använda för att sammanfoga ändringar i vyn och fördröja automatisk uppdatering. |
| DetachFromSourceCollection() |
Tar bort referensen till den underliggande samlingen från CollectionView. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetEnumerator() |
Returnerar ett objekt som du kan använda för att räkna upp objekten i vyn. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetItemAt(Int32) |
Hämtar objektet i det angivna nollbaserade indexet i vyn. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IndexOf(Object) |
Returnerar indexet där det angivna objektet finns. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MoveCurrentTo(Object) |
Anger att det angivna objektet ska vara CurrentItem i vyn. |
| MoveCurrentToFirst() |
Anger det första objektet i vyn som CurrentItem. |
| MoveCurrentToLast() |
Anger det sista objektet i vyn som CurrentItem. |
| MoveCurrentToNext() |
Anger objektet efter CurrentItem i vyn som CurrentItem. |
| MoveCurrentToPosition(Int32) |
Anger objektet till det angivna indexet CurrentItem som i vyn. |
| MoveCurrentToPrevious() |
Anger objektet före CurrentItem i vyn som CurrentItem. |
| OKToChangeCurrent() |
Returnerar ett värde som anger om vyn kan ändra vilket objekt som är CurrentItem. |
| OnAllowsCrossThreadChangesChanged() |
Inträffar när egenskapen AllowsCrossThreadChanges ändras. |
| OnBeginChangeLogging(NotifyCollectionChangedEventArgs) |
Föråldrad.
Anropas av basklassen för att meddela den härledda klassen att en CollectionChanged händelse har publicerats i meddelandekön. |
| OnCollectionChanged(NotifyCollectionChangedEventArgs) |
Genererar händelsen CollectionChanged . |
| OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) |
Genererar händelsen CollectionChanged . |
| OnCurrentChanged() |
Genererar händelsen CurrentChanged . |
| OnCurrentChanging() |
Genererar en CurrentChanging händelse som inte kan avbrytas. |
| OnCurrentChanging(CurrentChangingEventArgs) |
Genererar händelsen CurrentChanging med de angivna argumenten. |
| OnPropertyChanged(PropertyChangedEventArgs) |
Genererar PropertyChanged händelsen med de angivna argumenten. |
| PassesFilter(Object) |
Returnerar ett värde som anger om det angivna objektet i den underliggande samlingen tillhör vyn. |
| ProcessCollectionChanged(NotifyCollectionChangedEventArgs) |
När den åsidosätts i en härledd klass bearbetar en enda ändring i användargränssnittstråden. |
| ProcessPendingChanges() |
Säkerställer att alla väntande ändringar i samlingen har checkats in. |
| Refresh() |
Återskapar vyn. |
| RefreshOrDefer() |
Uppdaterar vyn eller anger att vyn måste uppdateras när uppskjutningscykeln är klar. |
| RefreshOverride() |
Återskapar vyn. |
| SetCurrent(Object, Int32, Int32) |
Anger det angivna objektet och indexet som värden för CurrentItem egenskaperna och CurrentPosition . Den här metoden kan anropas från en konstruktor för en härledd klass. |
| SetCurrent(Object, Int32) |
Anger det angivna objektet och indexet som värden för CurrentItem egenskaperna och CurrentPosition . |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| VerifyAccess() |
Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
Händelser
| Name | Description |
|---|---|
| CollectionChanged |
Inträffar när vyn har ändrats. |
| CurrentChanged |
Inträffar när har ändrats CurrentItem . |
| CurrentChanging |
Inträffar när CurrentItem ändras. |
| PropertyChanged |
Inträffar när ett egenskapsvärde har ändrats. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Returnerar ett IEnumerator objekt som du kan använda för att räkna upp objekten i vyn. |
| INotifyCollectionChanged.CollectionChanged |
Inträffar när vyn har ändrats. |
| INotifyPropertyChanged.PropertyChanged |
Inträffar när ett egenskapsvärde ändras. |
Tilläggsmetoder
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Möjliggör parallellisering av en fråga. |
| AsQueryable(IEnumerable) |
Konverterar en IEnumerable till en IQueryable. |
| Cast<TResult>(IEnumerable) |
Omvandlar elementen i en IEnumerable till den angivna typen. |
| OfType<TResult>(IEnumerable) |
Filtrerar elementen i en IEnumerable baserat på en angiven typ. |