Condividi tramite


IEditableCollectionView Interfaccia

Definizione

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.

Si applica a