IEditableCollectionView Interfejs

Definicja

Definiuje metody i właściwości implementujące CollectionView funkcje edytowania kolekcji.

public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
Pochodne

Przykłady

W poniższym przykładzie pokazano, jak dodać element do kolekcji przy użyciu metod zdefiniowanych przez metodę IEditableCollectionView. Ta aplikacja wyświetla listę elementów do sprzedaży i daje użytkownikowi możliwość dodawania, edytowania lub usuwania elementu. Gdy użytkownik dodaje lub edytuje element, formularz monituje użytkownika o wprowadzenie nowego elementu. Jeśli użytkownik prześle formularz, element zostanie zatwierdzony do kolekcji. Jeśli użytkownik anuluje formularz, element zostanie odrzucony. W całym przykładzie zobacz Zmienianie kolekcji przy użyciu przykładu 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

Uwagi

Gdy widok kolekcji implementuje IEditableCollectionView interfejs, możesz bezpośrednio zmienić podstawową kolekcję, jeśli zezwala na wprowadzanie zmian, przy użyciu metod i właściwości, które IEditableCollectionView uwidacznia, niezależnie od typu kolekcji.

Typy , i są typamiItemCollection, które są dostarczane z Windows Presentation Foundation (WPF), które dziedziczą z CollectionView.ListCollectionViewBindingListCollectionView Te typy implementują również metodę IEditableCollectionView, aby można było edytować kolekcję, która używa jednego z tych typów. ItemCollection, w szczególności, jest często używany, ponieważ ItemsControl.Items właściwość jest ItemCollection.

Właściwości

CanAddNew

Pobiera wartość wskazującą, czy można dodać nowy element do kolekcji.

CanCancelEdit

Pobiera wartość wskazującą, czy widok kolekcji może odrzucić oczekujące zmiany i przywrócić oryginalne wartości edytowanego obiektu.

CanRemove

Pobiera wartość wskazującą, czy element można usunąć z kolekcji.

CurrentAddItem

Pobiera element, który jest dodawany podczas bieżącej transakcji dodawania.

CurrentEditItem

Pobiera element w kolekcji, który jest edytowany.

IsAddingNew

Pobiera wartość wskazującą, czy transakcja dodawania jest w toku.

IsEditingItem

Pobiera wartość wskazującą, czy transakcja edycji jest w toku.

NewItemPlaceholderPosition

Pobiera lub ustawia położenie nowego symbolu zastępczego elementu w widoku kolekcji.

Metody

AddNew()

Dodaje nowy element do kolekcji.

CancelEdit()

Kończy transakcję edycji i, jeśli to możliwe, przywraca oryginalną wartość do elementu.

CancelNew()

Kończy dodawanie transakcji i odrzuca oczekujący nowy element.

CommitEdit()

Kończy transakcję edycji i zapisuje oczekujące zmiany.

CommitNew()

Kończy dodawanie transakcji i zapisuje oczekujący nowy element.

EditItem(Object)

Rozpoczyna edycję transakcji określonego elementu.

Remove(Object)

Usuwa określony element z kolekcji.

RemoveAt(Int32)

Usuwa element na określonej pozycji z kolekcji.

Dotyczy