IEditableCollectionView.CanAddNew Propiedad
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í.
Obtiene un valor que indica si puede agregarse un elemento nuevo a la colección.
public:
property bool CanAddNew { bool get(); };
public bool CanAddNew { get; }
member this.CanAddNew : bool
Public ReadOnly Property CanAddNew As Boolean
Valor de propiedad
true
si puede agregarse un nuevo elemento a la colección; de lo contrario, false
.
Ejemplos
En el ejemplo siguiente se comprueba si se puede agregar un elemento a la colección. Si CanAddNew es false
, el ejemplo indica al usuario que no se puede agregar un elemento. De lo contrario, muestra un formulario que solicita al usuario que agregue un nuevo elemento. Para obtener todo el ejemplo, vea Cambio de una colección mediante 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
Comentarios
Puede IEditableCollectionView agregar un nuevo elemento si se cumple lo siguiente:
Se puede agregar un elemento a la colección subyacente. Por ejemplo, si la colección es de solo lectura, CanAddNew es
false
.IEditableCollectionView puede crear un objeto del tipo que se encuentra en la colección. Por ejemplo, si la colección es de tipo ObservableCollection<T>, IEditableCollectionView debe poder crear un objeto de tipo
T
.