다음을 통해 공유


IEditableCollectionView.EditItem(Object) 메서드

정의

지정된 항목에 대해 편집 트랜잭션을 시작합니다.

public:
 void EditItem(System::Object ^ item);
public void EditItem (object item);
abstract member EditItem : obj -> unit
Public Sub EditItem (item As Object)

매개 변수

item
Object

편집할 항목입니다.

예제

다음 예제에서는 기존 항목을 편집 하 라는 메시지는 폼을 만듭니다. 사용자가 폼을 제출 하는 경우 변경 내용을 컬렉션에 커밋됩니다. 사용자가 폼을 취소 하는 경우 변경 내용이 삭제 됩니다. 전체 샘플을 보려면 IEditableCollectionView 예제를 사용 하 여 컬렉션을 변경 합니다.

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

적용 대상