IEditableCollectionView IEditableCollectionView IEditableCollectionView IEditableCollectionView Interface

Definition

Definiert Methoden und Eigenschaften, die eine CollectionView implementiert, um Bearbeitungsfunktionen für eine Auflistung bereitzustellen.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
Abgeleitet

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein Element mithilfe der von IEditableCollectionViewdefinierten Methoden zu einer Auflistung hinzugefügt wird.The following example shows how to add an item to a collection by using methods that are defined by IEditableCollectionView. Diese Anwendung zeigt eine Liste der zu verkaufenden Elemente an und bietet dem Benutzer die Möglichkeit, ein Element hinzuzufügen, zu bearbeiten oder zu entfernen.This application displays a list of items for sale and gives the user the option of adding, editing, or removing an item. Wenn der Benutzer ein Element hinzufügt oder bearbeitet, fordert ein Formular den Benutzer zur Eingabe eines neuen Elements auf.When the user adds or edits an item, a form prompts the user to enter a new item. Wenn der Benutzer das Formular sendet, wird das Element an die Auflistung übergeben.If the user submits the form, the item is committed to the collection. Wenn der Benutzer das Formular abbricht, wird das Element verworfen.If the user cancels the form, the item is discarded. Das gesamte Beispiel finden Sie unter Ändern einer Sammlung mit dem IEditableCollectionView-Beispiel.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

Hinweise

Wenn eine Auflistungs Ansicht IEditableCollectionView die-Schnittstelle implementiert, können Sie die zugrunde liegende Auflistung direkt ändern, sofern Änderungen vorgenommen werden können, indem Sie die Methoden IEditableCollectionView und Eigenschaften verwenden, die verfügbar macht, unabhängig vom Typ der Auflistung.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.

Die Typen ItemCollection, BindingListCollectionViewund sind ListCollectionView die Typen, die mit Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) ausgeliefert werden und von CollectionViewerben.The types ItemCollection, BindingListCollectionView, and ListCollectionView are the types that ship with Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) that inherit from CollectionView. Diese Typen implementieren auch das IEditableCollectionView, sodass Sie eine Auflistung bearbeiten können, die einen dieser Typen verwendet.These types also implement the IEditableCollectionView, so you can edit a collection that uses one of those types. ItemCollectioninsbesondere wird häufig verwendet, da die ItemsControl.Items -Eigenschaft eine ItemCollectionist.ItemCollection, in particular, is often used because the ItemsControl.Items property is an ItemCollection.

Eigenschaften

CanAddNew CanAddNew CanAddNew CanAddNew

Ruft einen Wert ab, der angibt, ob der Auflistung ein neues Element hinzugefügt werden kann.Gets a value that indicates whether a new item can be added to the collection.

CanCancelEdit CanCancelEdit CanCancelEdit CanCancelEdit

Ruft einen Wert ab, der angibt, ob die Auflistungsansicht ausstehende Änderungen verwerfen und die ursprünglichen Werte eines bearbeiteten Objekts wiederherstellen kann.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

Ruft einen Wert ab, der angibt, ob ein Element aus der Auflistung entfernt werden kann.Gets a value that indicates whether an item can be removed from the collection.

CurrentAddItem CurrentAddItem CurrentAddItem CurrentAddItem

Ruft das Element ab, das während der aktuellen Hinzufügetransaktion hinzugefügt wird.Gets the item that is being added during the current add transaction.

CurrentEditItem CurrentEditItem CurrentEditItem CurrentEditItem

Ruft das Element in der Auflistung ab, das gerade bearbeitet wird.Gets the item in the collection that is being edited.

IsAddingNew IsAddingNew IsAddingNew IsAddingNew

Ruft einen Wert ab, der angibt, ob eine Transaktion zum Hinzufügen ausgeführt wird.Gets a value that indicates whether an add transaction is in progress.

IsEditingItem IsEditingItem IsEditingItem IsEditingItem

Ruft einen Wert ab, der angibt, ob eine Transaktion zum Bearbeiten ausgeführt wird.Gets a value that indicates whether an edit transaction is in progress.

NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition

Ruft die Position des neuen Elementplatzhalters in der Auflistungsansicht ab oder legt sie fest.Gets or sets the position of the new item placeholder in the collection view.

Methoden

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

Fügt der Auflistung ein neues Element hinzu.Adds a new item to the collection.

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

Beendet die Transaktion zum Bearbeiten und stellt, wenn möglich, den ursprünglichen Wert des Elements wieder her.Ends the edit transaction and, if possible, restores the original value to the item.

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

Beendet die Transaktion zum Hinzufügen und verwirft das ausstehende neue Element.Ends the add transaction and discards the pending new item.

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

Beendet die Transaktion zum Bearbeiten und speichert die ausstehenden Änderungen.Ends the edit transaction and saves the pending changes.

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

Beendet die Transaktion zum Hinzufügen und speichert das ausstehende neue Element.Ends the add transaction and saves the pending new item.

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

Startet eine Transaktion zum Bearbeiten des angegebenen Elements.Begins an edit transaction of the specified item.

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

Entfernt das angegebene Element aus der Auflistung.Removes the specified item from the collection.

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

Entfernt das Element an der angegebenen Position aus der Auflistung.Removes the item at the specified position from the collection.

Gilt für: