IEditableCollectionView.EditItem(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
开始指定项的编辑事务。
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