Compartilhar via


IEditableCollectionView Interface

Definição

Define os métodos e as propriedades que uma CollectionView implementa para fornecer recursos de edição a uma coleção.

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

Exemplos

O exemplo a seguir mostra como adicionar um item a uma coleção usando métodos definidos por IEditableCollectionView. Este aplicativo exibe uma lista de itens à venda e dá ao usuário a opção de adicionar, editar ou remover um item. Quando o usuário adiciona ou edita um item, um formulário solicita que o usuário insira um novo item. Se o usuário enviar o formulário, o item será confirmado na coleção. Se o usuário cancelar o formulário, o item será descartado. Para obter todo o exemplo, consulte Alterando uma coleção usando o exemplo 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

Comentários

Quando uma exibição de coleção implementa a IEditableCollectionView interface, você pode alterar diretamente a coleção subjacente, se ela permitir que alterações sejam feitas, usando os métodos e as propriedades que IEditableCollectionView expõem, independentemente do tipo da coleção.

Os tipos ItemCollection, BindingListCollectionViewe ListCollectionView são os tipos que são fornecidos com Windows Presentation Foundation (WPF) que herdam de CollectionView. Esses tipos também implementam o IEditableCollectionView, para que você possa editar uma coleção que usa um desses tipos. ItemCollection, em particular, geralmente é usado porque a ItemsControl.Items propriedade é um ItemCollection.

Propriedades

CanAddNew

Obtém um valor que indica se um novo item pode ser adicionado à coleção.

CanCancelEdit

Obtém um valor que indica se a exibição de coleção pode descartar as alterações pendentes e restaurar os valores originais de um objeto editado.

CanRemove

Obtém um valor que indica se um item pode ser removido da coleção.

CurrentAddItem

Obtém o item que está sendo adicionado durante a transação de adição atual.

CurrentEditItem

Obtém o item na coleção que está sendo editado.

IsAddingNew

Obtém um valor que indica se uma transação de adição está em andamento.

IsEditingItem

Obtém um valor que indica se uma transação de edição está em andamento.

NewItemPlaceholderPosition

Obtém ou define a posição do novo espaço reservado de item na exibição da coleção.

Métodos

AddNew()

Adiciona um novo item à coleção.

CancelEdit()

Termina a transação de edição e, se possível, restaura o valor original para o item.

CancelNew()

Termina a transação de adição e descarta o novo item pendente.

CommitEdit()

Termina a transação de edição e salva as alterações pendentes.

CommitNew()

Termina a transação de adição e salva o novo item pendente.

EditItem(Object)

Inicia uma transação de edição do item especificado.

Remove(Object)

Remove o item especificado da coleção.

RemoveAt(Int32)

Remove o item na posição especificada da coleção.

Aplica-se a