IEditableCollectionView IEditableCollectionView IEditableCollectionView IEditableCollectionView Interface

Definizione

Definisce i metodi e le proprietà implementati da CollectionView per fornire funzionalità di modifica a un insieme.Defines methods and properties that a CollectionView implements to provide editing capabilities to a collection.

public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
Derivato

Esempi

Nell'esempio seguente viene illustrato come aggiungere un elemento a una raccolta utilizzando i metodi definiti da IEditableCollectionView.The following example shows how to add an item to a collection by using methods that are defined by IEditableCollectionView. Questa applicazione visualizza un elenco di elementi da vendere e offre all'utente la possibilità di aggiungere, modificare o rimuovere un elemento.This application displays a list of items for sale and gives the user the option of adding, editing, or removing an item. Quando l'utente aggiunge o modifica un elemento, un modulo richiede all'utente di immettere un nuovo elemento.When the user adds or edits an item, a form prompts the user to enter a new item. Se l'utente invia il modulo, viene eseguito il commit dell'elemento nella raccolta.If the user submits the form, the item is committed to the collection. Se l'utente annulla il modulo, l'elemento viene ignorato.If the user cancels the form, the item is discarded. Per l'intero esempio, vedere modifica di una raccolta tramite l'esempio IEditableCollectionView.For the entire sample, see Changing a Collection by Using 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

Commenti

Quando una visualizzazione di raccolta implementa IEditableCollectionView l'interfaccia, è possibile modificare direttamente la raccolta sottostante, se consente di apportare modifiche, usando i metodi e le IEditableCollectionView proprietà esposti da, indipendentemente dal tipo della raccolta.When a collection view implements the IEditableCollectionView interface, you can directly change the underlying collection, if it allows changes to be made, by using the methods and properties that IEditableCollectionView exposes, regardless of the collection's type.

I tipi ItemCollection, BindingListCollectionView Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) CollectionViewe ListCollectionView sono i tipi forniti con che ereditano da.The types ItemCollection, BindingListCollectionView, and ListCollectionView are the types that ship with Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) that inherit from CollectionView. Questi tipi implementano IEditableCollectionViewanche, quindi è possibile modificare una raccolta che usa uno di questi tipi.These types also implement the IEditableCollectionView, so you can edit a collection that uses one of those types. ItemCollection, in particolare, viene spesso utilizzato perché la ItemsControl.Items proprietà è un ItemCollectionoggetto.ItemCollection, in particular, is often used because the ItemsControl.Items property is an ItemCollection.

Proprietà

CanAddNew CanAddNew CanAddNew CanAddNew

Ottiene un valore che indica se è possibile aggiungere un nuovo elemento alla raccolta.Gets a value that indicates whether a new item can be added to the collection.

CanCancelEdit CanCancelEdit CanCancelEdit 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.Gets a value that indicates whether the collection view can discard pending changes and restore the original values of an edited object.

CanRemove CanRemove CanRemove CanRemove

Ottiene un valore che indica se è possibile rimuovere un elemento dalla raccolta.Gets a value that indicates whether an item can be removed from the collection.

CurrentAddItem CurrentAddItem CurrentAddItem CurrentAddItem

Ottiene l'elemento che viene aggiunto durante la transazione di aggiunta corrente.Gets the item that is being added during the current add transaction.

CurrentEditItem CurrentEditItem CurrentEditItem CurrentEditItem

Ottiene l'elemento della raccolta che viene modificato.Gets the item in the collection that is being edited.

IsAddingNew IsAddingNew IsAddingNew IsAddingNew

Ottiene un valore che indica se è in corso una transazione di aggiunta.Gets a value that indicates whether an add transaction is in progress.

IsEditingItem IsEditingItem IsEditingItem IsEditingItem

Ottiene un valore che indica se è in corso una transazione di modifica.Gets a value that indicates whether an edit transaction is in progress.

NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition

Ottiene o imposta la posizione del segnaposto del nuovo elemento nella visualizzazione della raccolta.Gets or sets the position of the new item placeholder in the collection view.

Metodi

AddNew() AddNew() AddNew() AddNew()

Aggiunge un nuovo elemento alla raccolta.Adds a new item to the collection.

CancelEdit() CancelEdit() CancelEdit() CancelEdit()

Termina la transazione di modifica e, se possibile, ripristina il valore originale dell'elemento.Ends the edit transaction and, if possible, restores the original value to the item.

CancelNew() CancelNew() CancelNew() CancelNew()

Termina la transazione di aggiunta ed elimina il nuovo elemento in sospeso.Ends the add transaction and discards the pending new item.

CommitEdit() CommitEdit() CommitEdit() CommitEdit()

Termina la transazione di modifica e salva le modifiche in sospeso.Ends the edit transaction and saves the pending changes.

CommitNew() CommitNew() CommitNew() CommitNew()

Termina la transazione di aggiunta e salva il nuovo elemento in sospeso.Ends the add transaction and saves the pending new item.

EditItem(Object) EditItem(Object) EditItem(Object) EditItem(Object)

Avvia una transazione di modifica dell'elemento specificato.Begins an edit transaction of the specified item.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Rimuove l'elemento specificato dalla raccolta.Removes the specified item from the collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Rimuove dalla raccolta l'elemento nella posizione specificata.Removes the item at the specified position from the collection.

Si applica a