IEditableCollectionView Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |