Share via


IEditableCollectionView Antarmuka

Definisi

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.

Berlaku untuk