CollectionView Kelas

Definisi

Mewakili tampilan untuk pengelompokan, pengurutan, pemfilteran, dan navigasi kumpulan data.

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
Warisan
CollectionView
Turunan
Penerapan

Keterangan

Anda tidak boleh membuat objek kelas ini dalam kode Anda. Untuk membuat tampilan koleksi untuk koleksi yang hanya mengimplementasikan IEnumerable, buat CollectionViewSource objek, tambahkan koleksi Anda ke Source properti , dan dapatkan tampilan koleksi dari View properti .

Anda dapat menganggap tampilan koleksi sebagai lapisan di atas koleksi sumber pengikatan yang memungkinkan Anda menavigasi dan menampilkan koleksi berdasarkan kueri sort, filter, dan grup, semuanya tanpa harus memanipulasi koleksi sumber yang mendasarinya sendiri. Jika koleksi sumber mengimplementasikan INotifyCollectionChanged antarmuka, perubahan yang menaikkan CollectionChanged peristiwa disebarluaskan ke tampilan.

Karena tampilan tidak mengubah kumpulan sumber yang mendasar, koleksi sumber dapat memiliki beberapa tampilan yang terkait dengannya. Dengan menggunakan tampilan, Anda dapat menampilkan data yang sama dengan cara yang berbeda. Misalnya, Anda bisa menggunakan dua tampilan pada kumpulan Task objek untuk memperlihatkan tugas yang diurutkan berdasarkan prioritas pada satu bagian halaman dan dikelompokkan menurut area di bagian lain halaman.

Dalam aplikasi WPF, semua koleksi memiliki tampilan koleksi default terkait. Daripada bekerja dengan koleksi secara langsung, mesin pengikatan selalu mengakses koleksi melalui tampilan terkait. Untuk mendapatkan tampilan default, gunakan CollectionViewSource.GetDefaultView metode . Kelas internal berdasarkan CollectionView adalah tampilan default untuk koleksi yang hanya IEnumerablemengimplementasikan . ListCollectionView adalah tampilan default untuk koleksi yang mengimplementasikan IList. BindingListCollectionView adalah tampilan default untuk koleksi yang mengimplementasikan IBindingListView atau IBindingList.

Atau, Anda dapat membuat tampilan koleksi Anda dalam Extensible Application Markup Language (XAML) dengan menggunakan CollectionViewSource kelas dan kemudian mengikat kontrol Anda ke tampilan tersebut. Kelas CollectionViewSource adalah representasi XAML dari CollectionView kelas . Misalnya, lihat Cara: Mengurutkan dan Mengelompokkan Data Menggunakan Tampilan di XAML.

Untuk informasi selengkapnya, lihat "Mengikat ke Koleksi" di Gambaran Umum Pengikatan Data.

Untuk mengatur tampilan di XAML, gunakan CollectionViewSource kelas . CollectionViewSource adalah representasi XAML dari CollectionView kelas , dan mengekspos anggota kelas yang CollectionView paling umum digunakan.

Konstruktor

CollectionView(IEnumerable)

Menginisialisasi instans CollectionView baru kelas yang mewakili tampilan koleksi yang ditentukan.

Properti

AllowsCrossThreadChanges

Mendapatkan nilai yang menunjukkan apakah utas selain yang membuat CollectionView dapat mengubah SourceCollection.

CanFilter

Mendapatkan nilai yang menunjukkan apakah tampilan mendukung pemfilteran.

CanGroup

Mendapatkan nilai yang menunjukkan apakah tampilan mendukung pengelompokan.

CanSort

Mendapatkan nilai yang menunjukkan apakah tampilan mendukung pengurutan.

Comparer

Mengembalikan objek yang bisa Anda gunakan untuk membandingkan item dalam tampilan.

Count

Mendapatkan jumlah rekaman dalam tampilan.

Culture

Mendapatkan atau mengatur informasi budaya yang akan digunakan selama pengurutan.

CurrentItem

Mendapatkan item saat ini dalam tampilan.

CurrentPosition

Mendapatkan posisi ordinal dalam CurrentItem tampilan (opsional diurutkan dan difilter).

Dispatcher

Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
Filter

Mendapatkan atau mengatur metode yang digunakan untuk menentukan apakah item cocok untuk dimasukkan dalam tampilan.

GroupDescriptions

Mendapatkan kumpulan GroupDescription objek yang menjelaskan bagaimana item dalam koleksi dikelompokkan dalam tampilan.

Groups

Mendapatkan koleksi grup tingkat atas yang dibangun berdasarkan GroupDescriptions properti .

IsCurrentAfterLast

Mendapatkan nilai yang menunjukkan apakah CurrentItem tampilan berada di luar akhir koleksi.

IsCurrentBeforeFirst

Mendapatkan nilai yang menunjukkan apakah CurrentItem tampilan sebelum awal koleksi.

IsCurrentInSync

Mendapatkan nilai yang menunjukkan apakah CurrentItem ada di CurrentPosition.

IsDynamic

Mendapatkan nilai yang menunjukkan apakah koleksi yang mendasar menyediakan pemberitahuan perubahan.

IsEmpty

Mendapatkan nilai yang menunjukkan apakah tampilan yang dihasilkan (difilter) kosong.

IsInUse

Mendapatkan nilai yang menunjukkan apakah ada objek yang berlangganan peristiwa ini CollectionView.

IsRefreshDeferred

Mendapatkan nilai yang menunjukkan apakah ada yang luar biasa DeferRefresh() dalam penggunaan.

NeedsRefresh

Mendapatkan nilai yang menunjukkan apakah tampilan perlu di-refresh.

NewItemPlaceholder

Mendapatkan objek yang ada dalam koleksi untuk mewakili item baru.

SortDescriptions

Mendapatkan kumpulan SortDescription struktur yang menjelaskan bagaimana item dalam koleksi diurutkan dalam tampilan.

SourceCollection

Mengembalikan koleksi yang tidak difilter yang mendasar.

UpdatedOutsideDispatcher

Mendapatkan nilai yang menunjukkan apakah telah diperlukan untuk memperbarui log perubahan karena CollectionChanged pemberitahuan telah diterima pada utas yang berbeda tanpa terlebih dahulu memasukkan thread dispatcher antarmuka pengguna (UI).

Metode

CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearChangeLog()
Kedaluwarsa.

Menghapus perubahan yang tertunda dari log perubahan.

ClearPendingChanges()

Menghapus perubahan yang tidak diolah ke koleksi.

Contains(Object)

Mengembalikan nilai yang menunjukkan apakah item yang ditentukan termasuk dalam tampilan.

DeferRefresh()

Memasukkan siklus tunda yang dapat Anda gunakan untuk menggabungkan perubahan pada tampilan dan menunda refresh otomatis.

DetachFromSourceCollection()

Menghapus referensi ke koleksi yang mendasar dari CollectionView.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan objek yang bisa Anda gunakan untuk menghitung item dalam tampilan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetItemAt(Int32)

Mengambil item pada indeks berbasis nol yang ditentukan dalam tampilan.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IndexOf(Object)

Mengembalikan indeks tempat item yang ditentukan berada.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MoveCurrentTo(Object)

Mengatur item yang ditentukan menjadi CurrentItem dalam tampilan.

MoveCurrentToFirst()

Mengatur item pertama dalam tampilan sebagai CurrentItem.

MoveCurrentToLast()

Mengatur item terakhir dalam tampilan sebagai CurrentItem.

MoveCurrentToNext()

Mengatur item setelah CurrentItem dalam tampilan sebagai CurrentItem.

MoveCurrentToPosition(Int32)

Mengatur item pada indeks yang ditentukan menjadi CurrentItem dalam tampilan.

MoveCurrentToPrevious()

Mengatur item sebelum CurrentItem dalam tampilan sebagai CurrentItem.

OKToChangeCurrent()

Mengembalikan nilai yang menunjukkan apakah tampilan dapat mengubah item mana yang merupakan CurrentItem.

OnAllowsCrossThreadChangesChanged()

Terjadi ketika AllowsCrossThreadChanges properti berubah.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Kedaluwarsa.

Dipanggil oleh kelas dasar untuk memberi tahu kelas turunan bahwa suatu CollectionChanged peristiwa telah diposting ke antrean pesan.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Memunculkan kejadian CollectionChanged.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Memunculkan kejadian CollectionChanged.

OnCurrentChanged()

Memunculkan kejadian CurrentChanged.

OnCurrentChanging()

Memunculkan CurrentChanging peristiwa yang tidak dapat dibatalkan.

OnCurrentChanging(CurrentChangingEventArgs)

Menaikkan CurrentChanging peristiwa dengan argumen yang ditentukan.

OnPropertyChanged(PropertyChangedEventArgs)

Menaikkan PropertyChanged peristiwa menggunakan argumen yang ditentukan.

PassesFilter(Object)

Mengembalikan nilai yang menunjukkan apakah item yang ditentukan dalam koleksi yang mendasar adalah milik tampilan.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Saat ditimpa di kelas turunan, memproses satu perubahan pada utas UI.

ProcessPendingChanges()

Memastikan bahwa semua perubahan yang tertunda pada koleksi telah dilakukan.

Refresh()

Membuat ulang tampilan.

RefreshOrDefer()

Merefresh tampilan atau menentukan bahwa tampilan perlu disegarkan saat siklus penangguh selesai.

RefreshOverride()

Membuat ulang tampilan.

SetCurrent(Object, Int32)

Mengatur item dan indeks yang ditentukan sebagai nilai CurrentItem properti dan CurrentPosition .

SetCurrent(Object, Int32, Int32)

Mengatur item dan indeks yang ditentukan sebagai nilai CurrentItem properti dan CurrentPosition . Metode ini dapat dipanggil dari konstruktor kelas turunan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)

Acara

CollectionChanged

Terjadi ketika tampilan telah berubah.

CurrentChanged

Terjadi setelah CurrentItem berubah.

CurrentChanging

Terjadi ketika CurrentItem berubah.

PropertyChanged

Terjadi ketika nilai properti telah berubah.

Implementasi Antarmuka Eksplisit

IEnumerable.GetEnumerator()

Mengembalikan IEnumerator objek yang bisa Anda gunakan untuk menghitung item dalam tampilan.

INotifyCollectionChanged.CollectionChanged

Terjadi ketika tampilan telah berubah.

INotifyPropertyChanged.PropertyChanged

Terjadi saat nilai properti berubah.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk