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 implementa CollectionView para proporcionar funcionalidades 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 para la 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 IEditableCollectionView Sample.
IEditableCollectionView editableCollectionView =
itemsControl.Items;
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()
{
//Create a new item to be added to the collection.
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 , IEditableCollectionViewpor 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
| Nombre | Description |
|---|---|
| CanAddNew |
Obtiene un valor que indica si se puede agregar un nuevo elemento 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 se puede quitar un elemento de la colección. |
| CurrentAddItem |
Obtiene el elemento que se va a agregar durante la transacción add actual. |
| CurrentEditItem |
Obtiene el elemento de la colección que se está editando. |
| IsAddingNew |
Obtiene un valor que indica si una transacción de adición está en curso. |
| IsEditingItem |
Obtiene un valor que indica si una transacción de edición está 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
| Nombre | Description |
|---|---|
| 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 al 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) |
Comienza una transacción de edición del elemento especificado. |
| Remove(Object) |
Quita el elemento especificado de la colección. |
| RemoveAt(Int32) |
Quita el elemento en la posición especificada de la colección. |