IEditableCollectionView 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义一些方法和属性,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 直接更改基础集合(如果允许进行更改),而不考虑集合的类型。
类型 ItemCollection、 BindingListCollectionView和 ListCollectionView 是继承自 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) |
从集合中删除指定位置的项。 |