IEditableCollectionView IEditableCollectionView IEditableCollectionView IEditableCollectionView Interface

Definition

Define los métodos y las propiedades que CollectionView implementa para proporcionar funciones de edición a una colección. Defines methods and properties that a CollectionView implements to provide editing capabilities to a collection.

public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
Derived

Examples

El ejemplo siguiente muestra cómo agregar un elemento a una colección mediante el uso de métodos que se definen mediante IEditableCollectionView.The following example shows how to add an item to a collection by using methods that are defined by IEditableCollectionView. Esta aplicación muestra una lista de artículos en venta y proporciona al usuario la opción de agregar, editar o quitar un elemento.This application displays a list of items for sale and gives the user the option of adding, editing, or removing an item. Cuando el usuario agrega o modifica un elemento, un formulario pide al usuario que escriba un nuevo elemento.When the user adds or edits an item, a form prompts the user to enter a new item. Si el usuario envía el formulario, el elemento se confirma en la colección.If the user submits the form, the item is committed to the collection. Si el usuario cancela el formulario, se descarta el elemento.If the user cancels the form, the item is discarded. Para obtener un ejemplo completo, vea cambiar una colección by Using IEditableCollectionView Sample.For the entire sample, see Changing a Collection by Using IEditableCollectionView Sample.

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

Remarks

Cuando una vista de colección implementa la IEditableCollectionView interfaz, puede modificar directamente la colección subyacente, si permite cambios que se realizan mediante el uso de los métodos y propiedades que IEditableCollectionView expone, independientemente del tipo de la colección.When a collection view implements the IEditableCollectionView interface, you can directly change the underlying collection, if it allows changes to be made, by using the methods and properties that IEditableCollectionView exposes, regardless of the collection's type.

Los tipos de ItemCollection, BindingListCollectionView, y ListCollectionView son los tipos que se suministran con Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) que heredan de CollectionView.The types ItemCollection, BindingListCollectionView, and ListCollectionView are the types that ship with Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) that inherit from CollectionView. Estos tipos también implementan la IEditableCollectionView, por lo que puede editar una colección que usa uno de esos tipos.These types also implement the IEditableCollectionView, so you can edit a collection that uses one of those types. ItemCollection, en concreto, se usa a menudo porque el ItemsControl.Items propiedad es una ItemCollection.ItemCollection, in particular, is often used because the ItemsControl.Items property is an ItemCollection.

Properties

CanAddNew CanAddNew CanAddNew CanAddNew

Obtiene un valor que indica si puede agregarse un elemento nuevo a la colección. Gets a value that indicates whether a new item can be added to the collection.

CanCancelEdit CanCancelEdit CanCancelEdit CanCancelEdit

Obtiene un valor que indica si la vista de colección puede descartar los cambios pendientes y restaurar los valores originales de un objeto editado. Gets a value that indicates whether the collection view can discard pending changes and restore the original values of an edited object.

CanRemove CanRemove CanRemove CanRemove

Obtiene un valor que indica si un elemento puede quitarse de la colección. Gets a value that indicates whether an item can be removed from the collection.

CurrentAddItem CurrentAddItem CurrentAddItem CurrentAddItem

Obtiene el elemento que se está agregando durante la transacción de adición actual. Gets the item that is being added during the current add transaction.

CurrentEditItem CurrentEditItem CurrentEditItem CurrentEditItem

Obtiene el elemento de la colección que se está editando. Gets the item in the collection that is being edited.

IsAddingNew IsAddingNew IsAddingNew IsAddingNew

Obtiene un valor que indica si hay una transacción de adición en curso. Gets a value that indicates whether an add transaction is in progress.

IsEditingItem IsEditingItem IsEditingItem IsEditingItem

Obtiene un valor que indica si hay una transacción de edición en curso. Gets a value that indicates whether an edit transaction is in progress.

NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition

Obtiene o establece la posición del nuevo marcador de posición de elemento en la vista de colección. Gets or sets the position of the new item placeholder in the collection view.

Methods

AddNew() AddNew() AddNew() AddNew()

Agrega un nuevo elemento a la colección. Adds a new item to the collection.

CancelEdit() CancelEdit() CancelEdit() CancelEdit()

Finaliza la transacción de edición y, si es posible, restaura el valor original del elemento. Ends the edit transaction and, if possible, restores the original value to the item.

CancelNew() CancelNew() CancelNew() CancelNew()

Finaliza la transacción de adición y descarta el nuevo elemento pendiente. Ends the add transaction and discards the pending new item.

CommitEdit() CommitEdit() CommitEdit() CommitEdit()

Finaliza la transacción de edición y guarda los cambios pendientes. Ends the edit transaction and saves the pending changes.

CommitNew() CommitNew() CommitNew() CommitNew()

Finaliza la transacción de adición y guarda el nuevo elemento pendiente. Ends the add transaction and saves the pending new item.

EditItem(Object) EditItem(Object) EditItem(Object) EditItem(Object)

Inicia una transacción de edición del elemento especificado. Begins an edit transaction of the specified item.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Quita el elemento especificado de la colección. Removes the specified item from the collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Quita de la colección un elemento situado en la posición especificada. Removes the item at the specified position from the collection.

Applies to