CollectionView Klass

Definition

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
CollectionView
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.

Gäller för