IEditableCollectionView Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendefinisikan metode dan properti yang CollectionView diterapkan untuk menyediakan kemampuan pengeditan ke koleksi.
public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
- Turunan
Contoh
Contoh berikut menunjukkan cara menambahkan item ke koleksi dengan menggunakan metode yang ditentukan oleh IEditableCollectionView. Aplikasi ini menampilkan daftar item untuk dijual dan memberi pengguna opsi untuk menambahkan, mengedit, atau menghapus item. Saat pengguna menambahkan atau mengedit item, formulir meminta pengguna untuk memasukkan item baru. Jika pengguna mengirimkan formulir, item diterapkan ke koleksi. Jika pengguna membatalkan formulir, item akan dibuang. Untuk seluruh sampel, lihat Mengubah Koleksi dengan Menggunakan Sampel IEditableCollectionView.
IEditableCollectionView editableCollectionView =
itemsControl.Items as IEditableCollectionView;
if (!editableCollectionView.CanAddNew)
{
MessageBox.Show("You cannot add items to the list.");
return;
}
// Create a window that prompts the user to enter a new
// item to sell.
ChangeItemWindow win = new ChangeItemWindow();
//Create a new item to be added to the collection.
win.DataContext = editableCollectionView.AddNew();
// If the user submits the new item, commit the new
// object to the collection. If the user cancels
// adding the new item, discard the new item.
if ((bool)win.ShowDialog())
{
editableCollectionView.CommitNew();
}
else
{
editableCollectionView.CancelNew();
}
Dim editableCollectionView As IEditableCollectionView = TryCast(itemsControl.Items, IEditableCollectionView)
If Not editableCollectionView.CanAddNew Then
MessageBox.Show("You cannot add items to the list.")
Return
End If
' Create a window that prompts the user to enter a new
' item to sell.
Dim win As New ChangeItemWindow()
'Create a new item to be added to the collection.
win.DataContext = editableCollectionView.AddNew()
' If the user submits the new item, commit the new
' object to the collection. If the user cancels
' adding the new item, discard the new item.
If CBool(win.ShowDialog()) Then
editableCollectionView.CommitNew()
Else
editableCollectionView.CancelNew()
End If
Keterangan
Saat tampilan koleksi mengimplementasikan antarmuka, Anda dapat langsung mengubah koleksi yang mendasar IEditableCollectionView , jika memungkinkan perubahan dilakukan, dengan menggunakan metode dan properti yang IEditableCollectionView mengekspos, terlepas dari jenis koleksi.
ItemCollectionJenis , BindingListCollectionView, dan ListCollectionView adalah jenis yang dikirim dengan Windows Presentation Foundation (WPF) yang mewarisi dari CollectionView. Jenis-jenis ini juga mengimplementasikan IEditableCollectionView, sehingga Anda dapat mengedit koleksi yang menggunakan salah satu jenis tersebut. ItemCollection, khususnya, sering digunakan karena ItemsControl.Items properti adalah ItemCollection.
Properti
CanAddNew |
Mendapatkan nilai yang menunjukkan apakah item baru dapat ditambahkan ke koleksi. |
CanCancelEdit |
Mendapatkan nilai yang menunjukkan apakah tampilan koleksi dapat membuang perubahan yang tertunda dan memulihkan nilai asli objek yang diedit. |
CanRemove |
Mendapatkan nilai yang menunjukkan apakah item dapat dihapus dari koleksi. |
CurrentAddItem |
Mendapatkan item yang sedang ditambahkan selama transaksi tambahkan saat ini. |
CurrentEditItem |
Mendapatkan item dalam koleksi yang sedang diedit. |
IsAddingNew |
Mendapatkan nilai yang menunjukkan apakah transaksi add sedang berlangsung. |
IsEditingItem |
Mendapatkan nilai yang menunjukkan apakah transaksi edit sedang berlangsung. |
NewItemPlaceholderPosition |
Mendapatkan atau mengatur posisi tempat penampung item baru dalam tampilan koleksi. |
Metode
AddNew() |
Menambahkan item baru ke koleksi. |
CancelEdit() |
Mengakhiri transaksi edit dan, jika memungkinkan, memulihkan nilai asli ke item. |
CancelNew() |
Mengakhiri transaksi add dan membuang item baru yang tertunda. |
CommitEdit() |
Mengakhiri transaksi edit dan menyimpan perubahan yang tertunda. |
CommitNew() |
Mengakhiri transaksi tambahkan dan menyimpan item baru yang tertunda. |
EditItem(Object) |
Memulai transaksi edit item yang ditentukan. |
Remove(Object) |
Menghapus item yang ditentukan dari koleksi. |
RemoveAt(Int32) |
Menghapus item pada posisi yang ditentukan dari koleksi. |