CollectionView Sınıf

Tanım

Veri toplamayı gruplandırma, sıralama, filtreleme ve gezinmeye yönelik bir görünümü temsil eder.

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
Devralma
CollectionView
Türetilmiş
Uygulamalar

Açıklamalar

Kodunuzda bu sınıfın nesnelerini oluşturmamalısınız. Yalnızca uygulayan IEnumerablebir koleksiyon için koleksiyon görünümü oluşturmak için bir CollectionViewSource nesnesi oluşturun, koleksiyonunuzu özelliğine Source ekleyin ve özelliğinden View koleksiyon görünümünü alın.

Koleksiyon görünümünü, temel alınan kaynak koleksiyonun kendisini işlemek zorunda kalmadan sıralama, filtreleme ve grup sorgularını temel alarak koleksiyonda gezinmenizi ve görüntülemenizi sağlayan bağlama kaynak koleksiyonunun üzerinde bir katman olarak düşünebilirsiniz. Kaynak koleksiyon arabirimini uygularsa INotifyCollectionChanged , olayı oluşturan CollectionChanged değişiklikler görünümlere yayılır.

Görünüm temel alınan kaynak koleksiyonu değiştirmediğinden, kaynak koleksiyonun kendisiyle ilişkilendirilmiş birden çok görünümü olabilir. Görünümleri kullanarak aynı verileri farklı şekillerde görüntüleyebilirsiniz. Örneğin, bir nesne koleksiyonunda Task iki görünümü kullanarak, görevleri sayfanın bir bölümünde önceliğe göre sıralanmış ve sayfanın başka bir bölümündeki alana göre gruplandırılmış olarak gösterebilirsiniz.

WPF uygulamalarında, tüm koleksiyonlar ilişkili bir varsayılan koleksiyon görünümüne sahiptir. Bağlama altyapısı, doğrudan koleksiyonla çalışmak yerine her zaman ilişkili görünüm aracılığıyla koleksiyona erişir. Varsayılan görünümü almak için yöntemini kullanın CollectionViewSource.GetDefaultView . tabanlı CollectionView bir iç sınıf, yalnızca IEnumerableuygulayan koleksiyonlar için varsayılan görünümdür. ListCollectionView , uygulayan IListkoleksiyonlar için varsayılan görünümdür. BindingListCollectionView, veya IBindingListuygulayan IBindingListView koleksiyonlar için varsayılan görünümdür.

Alternatif olarak, sınıfını kullanarak CollectionViewSource Genişletilebilir Uygulama Biçimlendirme Dili'nde (XAML) koleksiyonunuzun bir görünümünü oluşturabilir ve ardından denetiminizi bu görünüme bağlayabilirsiniz. CollectionViewSource sınıfı, sınıfın XAML gösterimidirCollectionView. Örnek için bkz . Nasıl yapılır: XAML'de Görünüm Kullanarak Verileri Sıralama ve Gruplandırma.

Daha fazla bilgi için Veri Bağlamaya Genel Bakış'taki "Koleksiyonlara Bağlama" bölümüne bakın.

XAML'de bir görünüm ayarlamak için sınıfını CollectionViewSource kullanın. CollectionViewSource sınıfın XAML gösterimidir CollectionView ve sınıfın en yaygın olarak kullanılan üyelerini CollectionView kullanıma sunar.

Oluşturucular

CollectionView(IEnumerable)

Belirtilen koleksiyonun CollectionView görünümünü temsil eden sınıfının yeni bir örneğini başlatır.

Özellikler

AllowsCrossThreadChanges

öğesini oluşturandan CollectionView başka bir iş parçacığının öğesini değiştirip değiştiremeyeceğini SourceCollectionbelirten bir değer alır.

CanFilter

Görünümün filtrelemeyi destekleyip desteklemediğini gösteren bir değer alır.

CanGroup

Görünümün gruplandırma desteği olup olmadığını gösteren bir değer alır.

CanSort

Görünümün sıralamayı destekleyip desteklemediğini gösteren bir değer alır.

Comparer

Görünümdeki öğeleri karşılaştırmak için kullanabileceğiniz bir nesne döndürür.

Count

Görünümdeki kayıt sayısını alır.

Culture

Sıralama sırasında kullanılacak kültür bilgilerini alır veya ayarlar.

CurrentItem

Görünümdeki geçerli öğeyi alır.

CurrentPosition

(isteğe bağlı olarak sıralanmış ve filtrelenmiş) görünümünün içindeki sıralı konumunu CurrentItem alır.

Dispatcher

Dispatcher Bunun DispatcherObject ilişkili olduğunu alır.

(Devralındığı yer: DispatcherObject)
Filter

Öğenin görünüme dahil edilmeye uygun olup olmadığını belirlemek için kullanılan bir yöntemi alır veya ayarlar.

GroupDescriptions

Koleksiyondaki GroupDescription öğelerin görünümde nasıl gruplandırıldığını açıklayan bir nesne koleksiyonu alır.

Groups

özelliğine göre yapılandırılan en üst düzey grupların GroupDescriptions koleksiyonunu alır.

IsCurrentAfterLast

Görünümün koleksiyonunun sonunun ötesinde olup olmadığını CurrentItem gösteren bir değer alır.

IsCurrentBeforeFirst

Görünümün koleksiyonunun başlangıcından önce olup olmadığını CurrentItem gösteren bir değer alır.

IsCurrentInSync

öğesinin konumunda CurrentPositionolup olmadığını CurrentItem belirten bir değer alır.

IsDynamic

Temel koleksiyonun değişiklik bildirimleri sağlayıp sağlamadığını gösteren bir değer alır.

IsEmpty

Sonuçta elde edilen (filtrelenmiş) görünümün boş olup olmadığını gösteren bir değer alır.

IsInUse

Herhangi bir nesnenin bu CollectionViewolaylara abone olup olmadığını gösteren bir değer alır.

IsRefreshDeferred

Kullanımda bekleyen DeferRefresh() bir değer olup olmadığını belirten bir değer alır.

NeedsRefresh

Görünümün yenilenmesi gerekip gerekmediğini belirten bir değer alır.

NewItemPlaceholder

Yeni bir öğeyi temsil etmek için koleksiyondaki nesneyi alır.

SortDescriptions

Koleksiyondaki SortDescription öğelerin görünümde nasıl sıralandığını açıklayan bir yapı koleksiyonu alır.

SourceCollection

Temel alınan filtrelenmemiş koleksiyonu döndürür.

UpdatedOutsideDispatcher

Önce kullanıcı arabirimi (UI) iş parçacığı dağıtıcısı girilmeden farklı bir iş parçacığında bir CollectionChanged bildirim alındığından, değişiklik günlüğünü güncelleştirmenin gerekli olup olmadığını belirten bir değer alır.

Yöntemler

CheckAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler.

(Devralındığı yer: DispatcherObject)
ClearChangeLog()
Geçersiz.

Bekleyen değişiklikleri değişiklik günlüğünden temizler.

ClearPendingChanges()

İşlenmemiş olan ve koleksiyona değiştirilenleri temizler.

Contains(Object)

Belirtilen öğenin görünüme ait olup olmadığını gösteren bir değer döndürür.

DeferRefresh()

Görünümdeki değişiklikleri birleştirmek ve otomatik yenilemeyi geciktirmek için kullanabileceğiniz bir erteleme döngüsü girer.

DetachFromSourceCollection()

temel alınan koleksiyona başvuruyu'ndan CollectionViewkaldırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetEnumerator()

Görünümdeki öğeleri listelemek için kullanabileceğiniz bir nesne döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetItemAt(Int32)

Öğeyi görünümde belirtilen sıfır tabanlı dizinde alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IndexOf(Object)

Belirtilen öğenin bulunduğu dizini döndürür.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MoveCurrentTo(Object)

Belirtilen öğeyi görünümde olacak şekilde CurrentItem ayarlar.

MoveCurrentToFirst()

Görünümdeki ilk öğeyi olarak CurrentItemayarlar.

MoveCurrentToLast()

Görünümdeki son öğeyi olarak CurrentItemayarlar.

MoveCurrentToNext()

görünümde öğesinden CurrentItem sonraki öğeyi olarak CurrentItemayarlar.

MoveCurrentToPosition(Int32)

Belirtilen dizindeki öğeyi görünümde olacak şekilde CurrentItem ayarlar.

MoveCurrentToPrevious()

Görünümdeki öğesinden önce CurrentItem öğesini olarak CurrentItemayarlar.

OKToChangeCurrent()

Görünümün öğesi olan öğeyi CurrentItemdeğiştirip değiştiremeyeceğini belirten bir değer döndürür.

OnAllowsCrossThreadChangesChanged()

Özellik değiştiğinde AllowsCrossThreadChanges gerçekleşir.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Geçersiz.

Türetilmiş sınıfa bir CollectionChanged olayın ileti kuyruğuna gönderildiğini bildirmek için temel sınıf tarafından çağrılır.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Olayı tetikler CollectionChanged .

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Olayı tetikler CollectionChanged .

OnCurrentChanged()

Olayı tetikler CurrentChanged .

OnCurrentChanging()

İptal edilemeyen bir CurrentChanging olay tetikler.

OnCurrentChanging(CurrentChangingEventArgs)

CurrentChanging Olayı belirtilen bağımsız değişkenlerle yükseltir.

OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Belirtilen bağımsız değişkenleri kullanarak olayı tetikler.

PassesFilter(Object)

Temel koleksiyonda belirtilen öğenin görünüme ait olup olmadığını gösteren bir değer döndürür.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Türetilmiş bir sınıfta geçersiz kılındığında, kullanıcı arabirimi iş parçacığında tek bir değişikliği işler.

ProcessPendingChanges()

Koleksiyonda bekleyen tüm değişikliklerin işlendiğini güvence altına alır.

Refresh()

Görünümü yeniden oluşturur.

RefreshOrDefer()

Görünümü yeniler veya erteleme döngüsü tamamlandığında görünümün yenilenmesi gerektiğini belirtir.

RefreshOverride()

Görünümü yeniden oluşturur.

SetCurrent(Object, Int32)

Belirtilen öğeyi ve dizini ve CurrentPosition özelliklerinin değerleri CurrentItem olarak ayarlar.

SetCurrent(Object, Int32, Int32)

Belirtilen öğeyi ve dizini ve CurrentPosition özelliklerinin değerleri CurrentItem olarak ayarlar. Bu yöntem türetilmiş bir sınıfın oluşturucusundan çağrılabilir.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjecterişimine sahip olmasını zorlar.

(Devralındığı yer: DispatcherObject)

Ekinlikler

CollectionChanged

Görünüm değiştiğinde gerçekleşir.

CurrentChanged

değiştirildikten sonra CurrentItem gerçekleşir.

CurrentChanging

değiştiğinde CurrentItem gerçekleşir.

PropertyChanged

Özellik değeri değiştiğinde gerçekleşir.

Belirtik Arabirim Kullanımları

IEnumerable.GetEnumerator()

Görünümdeki öğeleri listelemek için kullanabileceğiniz bir IEnumerator nesne döndürür.

INotifyCollectionChanged.CollectionChanged

Görünüm değiştiğinde gerçekleşir.

INotifyPropertyChanged.PropertyChanged

Özellik değeri değiştiğinde gerçekleşir.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Bir öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini sağlar.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır