Freigeben über


IEditableCollectionView.CommitEdit Methode

Definition

Beendet die Transaktion zum Bearbeiten und speichert die ausstehenden Änderungen.

public:
 void CommitEdit();
public void CommitEdit ();
abstract member CommitEdit : unit -> unit
Public Sub CommitEdit ()

Beispiele

Im folgenden Beispiel wird ein Formular erstellt, das den Benutzer auffordert, ein vorhandenes Element zu bearbeiten. Wenn der Benutzer das Formular übermittelt, ruft das Beispiel auf CommitEdit , um die Änderungen an der Auflistung zu speichern. Wenn der Benutzer das Formular abbricht, ruft das Beispiel auf CancelEdit , um die Änderungen zu verwerfen. Das gesamte Beispiel finden Sie unter Ändern einer Sammlung mithilfe von IEditableCollectionView-Beispiel.

IEditableCollectionView editableCollectionView =
            itemsControl.Items as IEditableCollectionView;

// Create a window that prompts the user to edit an item.
ChangeItemWindow win = new ChangeItemWindow();
editableCollectionView.EditItem(itemsControl.SelectedItem);
win.DataContext = itemsControl.SelectedItem;

// If the user submits the new item, commit the changes.
// If the user cancels the edits, discard the changes. 
if ((bool)win.ShowDialog())
{
    editableCollectionView.CommitEdit();
}
else
{
    // If the objects in the collection can discard pending 
    // changes, calling IEditableCollectionView.CancelEdit
    // will revert the changes. Otherwise, you must provide
    // your own logic to revert the changes in the object.
    
    if (!editableCollectionView.CanCancelEdit)
    {
        // Provide logic to revert changes.
    }

    editableCollectionView.CancelEdit();
}
Dim editableCollectionView As IEditableCollectionView = TryCast(itemsControl.Items, IEditableCollectionView)

' Create a window that prompts the user to edit an item.
Dim win As New ChangeItemWindow()
editableCollectionView.EditItem(itemsControl.SelectedItem)
win.DataContext = itemsControl.SelectedItem

' If the user submits the new item, commit the changes.
' If the user cancels the edits, discard the changes. 
If CBool(win.ShowDialog()) Then
    editableCollectionView.CommitEdit()
Else
    ' If the objects in the collection can discard pending 
    ' changes, calling IEditableCollectionView.CancelEdit
    ' will revert the changes. Otherwise, you must provide
    ' your own logic to revert the changes in the object.

    If Not editableCollectionView.CanCancelEdit Then
        ' Provide logic to revert changes.
    End If

    editableCollectionView.CancelEdit()
End If

Gilt für: