IEditableCollectionView Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce metodi e proprietà implementate da un oggetto CollectionView per fornire funzionalità di modifica a una raccolta.
public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
- Derivato
Esempio
Nell'esempio seguente viene illustrato come aggiungere un elemento a una raccolta usando metodi definiti da IEditableCollectionView. Questa applicazione visualizza un elenco di articoli da vendere e consente all'utente di aggiungere, modificare o rimuovere un elemento. Quando l'utente aggiunge o modifica un elemento, un modulo richiede all'utente di immettere un nuovo elemento. Se l'utente invia il modulo, l'elemento viene eseguito il commit della raccolta. Se l'utente annulla il modulo, l'elemento viene rimosso. Per l'intero esempio, vedere Modifica di una raccolta usando l'esempio 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
Commenti
Quando una vista raccolta implementa l'interfaccia, è possibile modificare direttamente la IEditableCollectionView raccolta sottostante, se consente di apportare modifiche, usando i metodi e le proprietà che IEditableCollectionView espongono, indipendentemente dal tipo della raccolta.
I tipi , e sono i tipi ItemCollectionche vengono forniti con Windows Presentation Foundation (WPF) che ereditano da CollectionView.ListCollectionViewBindingListCollectionView Questi tipi implementano anche , IEditableCollectionViewin modo da poter modificare una raccolta che usa uno di questi tipi. ItemCollection, in particolare, viene spesso usato perché la ItemsControl.Items proprietà è un ItemCollectionoggetto .
Proprietà
CanAddNew |
Ottiene un valore che indica se è possibile aggiungere un nuovo elemento alla raccolta. |
CanCancelEdit |
Ottiene un valore che indica se la visualizzazione raccolta può annullare le modifiche in sospeso e ripristinare i valori originali di un oggetto modificato. |
CanRemove |
Ottiene un valore che indica se è possibile rimuovere un elemento dalla raccolta. |
CurrentAddItem |
Ottiene l'elemento che viene aggiunto durante la transazione di aggiunta corrente. |
CurrentEditItem |
Ottiene l'elemento della raccolta che viene modificato. |
IsAddingNew |
Ottiene un valore che indica se è in corso una transazione di aggiunta. |
IsEditingItem |
Ottiene un valore che indica se è in corso una transazione di modifica. |
NewItemPlaceholderPosition |
Ottiene o imposta la posizione del segnaposto del nuovo elemento nella visualizzazione raccolta. |
Metodi
AddNew() |
Aggiunge un nuovo elemento alla raccolta. |
CancelEdit() |
Termina la transazione di modifica e, se possibile, ripristina il valore originale dell'elemento. |
CancelNew() |
Termina la transazione di aggiunta ed elimina il nuovo elemento in sospeso. |
CommitEdit() |
Termina la transazione di modifica e salva le modifiche in sospeso. |
CommitNew() |
Termina la transazione di aggiunta e salva il nuovo elemento in sospeso. |
EditItem(Object) |
Avvia una transazione di modifica dell'elemento specificato. |
Remove(Object) |
Rimuove l'elemento specificato dalla raccolta. |
RemoveAt(Int32) |
Rimuove dalla raccolta l'elemento in corrispondenza della posizione specificata. |