IEditableCollectionView 接口

定义

定义一些方法和属性,CollectionView 实现它们以向集合提供编辑功能。

public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
派生

示例

以下示例演示如何使用 由 IEditableCollectionView定义的方法将项添加到集合。 此应用程序显示待售商品的列表,并为用户提供添加、编辑或删除商品的选项。 当用户添加或编辑项时,窗体会提示用户输入新项。 如果用户提交表单,该项目将提交到集合。 如果用户取消窗体,则会放弃该项。 有关整个示例,请参阅 使用 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

注解

当集合视图实现 IEditableCollectionView 接口时,可以使用公开的方法和属性 IEditableCollectionView 直接更改基础集合(如果允许进行更改),而不考虑集合的类型。

类型 ItemCollectionBindingListCollectionViewListCollectionView 是继承自 CollectionView的 wpf Windows Presentation Foundation () 附带的类型。 这些类型还实现 IEditableCollectionView,因此你可以编辑使用这些类型之一的集合。 ItemCollection具体而言, 通常使用 , ItemsControl.Items 因为 属性是 ItemCollection

属性

CanAddNew

获取一个值,该值指示是否可以将新项添加到集合中。

CanCancelEdit

获取一个值,该值指示集合视图是否可以放弃挂起的更改并还原所编辑对象的原始值。

CanRemove

获取一个值,该值指示是否可以从集合中移除项。

CurrentAddItem

获取当前添加事务过程中正在添加的项。

CurrentEditItem

获取集合中正在编辑的项。

IsAddingNew

获取一个值,该值指示是否正在执行添加事务。

IsEditingItem

获取一个值,该值指示是否正在执行编辑事务。

NewItemPlaceholderPosition

获取或设置集合视图中新项占位符的位置。

方法

AddNew()

将新项添加到集合。

CancelEdit()

结束编辑事务,并还原项的原始值(如有可能)。

CancelNew()

结束添加事务并放弃挂起的新项。

CommitEdit()

结束编辑事务并保存挂起的更改。

CommitNew()

结束添加事务并保存挂起的新项。

EditItem(Object)

开始指定项的编辑事务。

Remove(Object)

从集合中移除指定的项。

RemoveAt(Int32)

从集合中删除指定位置的项。

适用于