Freigeben über


IEditableCollectionView Schnittstelle

Definition

Definiert Methoden und Eigenschaften, die von einer CollectionView Methode implementiert werden, um Bearbeitungsfunktionen für eine Auflistung bereitzustellen.

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

Beispiele

Das folgende Beispiel zeigt, wie Sie einer Auflistung mithilfe von Methoden, die durch IEditableCollectionViewdefiniert werden, ein Element zu einer Auflistung hinzufügen. Diese Anwendung zeigt eine Liste von Artikeln zum Verkauf an und bietet dem Benutzer die Möglichkeit, ein Element hinzuzufügen, zu bearbeiten oder zu entfernen. Wenn der Benutzer ein Element hinzufügt oder bearbeitet, fordert ein Formular den Benutzer auf, ein neues Element einzugeben. Wenn der Benutzer das Formular sendet, wird das Element der Sammlung zugesichert. Wenn der Benutzer das Formular abbricht, wird das Element verworfen. Das gesamte Beispiel finden Sie unter Ändern einer Auflistung mithilfe des IEditableCollectionView-Beispiels.

IEditableCollectionView editableCollectionView =
    itemsControl.Items;

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()
{
    //Create a new item to be added to the collection.
    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

Hinweise

Wenn eine Sammlungsansicht die IEditableCollectionView Schnittstelle implementiert, können Sie die zugrunde liegende Auflistung direkt ändern, wenn änderungen vorgenommen werden können, indem Sie die verfügbaren Methoden und Eigenschaften IEditableCollectionView verwenden, unabhängig vom Typ der Auflistung.

Die Typen ItemCollection, BindingListCollectionViewund ListCollectionView sind die Typen, die mit Windows Presentation Foundation (WPF) ausgeliefert werden, die von .CollectionView Diese Typen implementieren auch die IEditableCollectionView, sodass Sie eine Auflistung bearbeiten können, die einen dieser Typen verwendet. ItemCollectionwird häufig verwendet, da es sich bei der ItemsControl.Items Eigenschaft um eine ItemCollection.

Eigenschaften

Name Beschreibung
CanAddNew

Ruft einen Wert ab, der angibt, ob der Auflistung ein neues Element hinzugefügt werden kann.

CanCancelEdit

Ruft einen Wert ab, der angibt, ob die Auflistungsansicht ausstehende Änderungen verwerfen und die ursprünglichen Werte eines bearbeiteten Objekts wiederherstellen kann.

CanRemove

Ruft einen Wert ab, der angibt, ob ein Element aus der Auflistung entfernt werden kann.

CurrentAddItem

Ruft das Element ab, das während der aktuellen Add-Transaktion hinzugefügt wird.

CurrentEditItem

Ruft das Element in der Auflistung ab, die bearbeitet wird.

IsAddingNew

Ruft einen Wert ab, der angibt, ob eine Add-Transaktion ausgeführt wird.

IsEditingItem

Ruft einen Wert ab, der angibt, ob eine Bearbeitungstransaktion ausgeführt wird.

NewItemPlaceholderPosition

Dient zum Abrufen oder Festlegen der Position des neuen Elementplatzhalters in der Auflistungsansicht.

Methoden

Name Beschreibung
AddNew()

Fügt der Auflistung ein neues Element hinzu.

CancelEdit()

Beendet die Bearbeitungstransaktion und stellt den ursprünglichen Wert nach Möglichkeit wieder auf dem Element wieder her.

CancelNew()

Beendet die Add-Transaktion und verwirft das ausstehende neue Element.

CommitEdit()

Beendet die Bearbeitungstransaktion und speichert die ausstehenden Änderungen.

CommitNew()

Beendet die Add-Transaktion und speichert das ausstehende neue Element.

EditItem(Object)

Beginnt eine Bearbeitungstransaktion des angegebenen Elements.

Remove(Object)

Entfernt das angegebene Element aus der Auflistung.

RemoveAt(Int32)

Entfernt das Element an der angegebenen Position aus der Auflistung.

Gilt für: