IEditableCollectionView Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define métodos y propiedades que CollectionView implementa para ofrecer capacidades de edición a una colección.
public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
- Derivado
Ejemplos
En el ejemplo siguiente se muestra cómo agregar un elemento a una colección mediante métodos definidos por IEditableCollectionView. Esta aplicación muestra una lista de elementos en venta y proporciona al usuario la opción de agregar, editar o quitar un elemento. Cuando el usuario agrega o edita un elemento, un formulario pide al usuario que escriba un nuevo elemento. Si el usuario envía el formulario, el elemento se confirma en la colección. Si el usuario cancela el formulario, se descarta el elemento. Para obtener todo el ejemplo, vea Cambio de una colección mediante el ejemplo 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
Comentarios
Cuando una vista de colección implementa la IEditableCollectionView interfaz , puede cambiar directamente la colección subyacente, si permite realizar cambios, mediante los métodos y propiedades que IEditableCollectionView expone, independientemente del tipo de la colección.
Los tipos ItemCollection, BindingListCollectionViewy ListCollectionView son los tipos que se incluyen con Windows Presentation Foundation (WPF) que heredan de CollectionView. Estos tipos también implementan IEditableCollectionView, por lo que puede editar una colección que use uno de esos tipos. ItemCollection, en concreto, se usa a menudo porque la ItemsControl.Items propiedad es .ItemCollection
Propiedades
CanAddNew |
Obtiene un valor que indica si puede agregarse un elemento nuevo a la colección. |
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. |
CanRemove |
Obtiene un valor que indica si un elemento puede quitarse de la colección. |
CurrentAddItem |
Obtiene el elemento que se está agregando durante la transacción de adición actual. |
CurrentEditItem |
Obtiene el elemento de la colección que se está editando. |
IsAddingNew |
Obtiene un valor que indica si hay una transacción de adición en curso. |
IsEditingItem |
Obtiene un valor que indica si hay una transacción de edición en curso. |
NewItemPlaceholderPosition |
Obtiene o establece la posición del nuevo marcador de posición de elemento en la vista de colección. |
Métodos
AddNew() |
Agrega un nuevo elemento a la colección. |
CancelEdit() |
Finaliza la transacción de edición y, si es posible, restaura el valor original del elemento. |
CancelNew() |
Finaliza la transacción de adición y descarta el nuevo elemento pendiente. |
CommitEdit() |
Finaliza la transacción de edición y guarda los cambios pendientes. |
CommitNew() |
Finaliza la transacción de adición y guarda el nuevo elemento pendiente. |
EditItem(Object) |
Inicia una transacción de edición del elemento especificado. |
Remove(Object) |
Quita el elemento especificado de la colección. |
RemoveAt(Int32) |
Quita de la colección un elemento situado en la posición especificada. |