IEditableCollectionView Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar metoder och egenskaper som implementeras CollectionView för att ge redigeringsfunktioner till en samling.
public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
- Härledda
Exempel
I följande exempel visas hur du lägger till ett objekt i en samling med hjälp av metoder som definieras av IEditableCollectionView. Det här programmet visar en lista över objekt till salu och ger användaren möjlighet att lägga till, redigera eller ta bort ett objekt. När användaren lägger till eller redigerar ett objekt uppmanas användaren att ange ett nytt objekt i ett formulär. Om användaren skickar formuläret checkas objektet in i samlingen. Om användaren avbryter formuläret ignoreras objektet. Hela exemplet finns i Changing a Collection by Using IEditableCollectionView Sample.
IEditableCollectionView editableCollectionView =
itemsControl.Items;
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()
{
//Create a new item to be added to the collection.
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
Kommentarer
När en samlingsvy implementerar IEditableCollectionView gränssnittet kan du direkt ändra den underliggande samlingen, om den tillåter att ändringar görs, med hjälp av de metoder och egenskaper som IEditableCollectionView exponeras, oavsett samlingens typ.
Typerna ItemCollection, BindingListCollectionView och ListCollectionView är de typer som levereras med Windows Presentation Foundation (WPF) som ärver från CollectionView. Dessa typer implementerar IEditableCollectionViewockså , så att du kan redigera en samling som använder en av dessa typer. ItemCollection, i synnerhet, används ofta eftersom egenskapen ItemsControl.Items är en ItemCollection.
Egenskaper
| Name | Description |
|---|---|
| CanAddNew |
Hämtar ett värde som anger om ett nytt objekt kan läggas till i samlingen. |
| CanCancelEdit |
Hämtar ett värde som anger om samlingsvyn kan ignorera väntande ändringar och återställa de ursprungliga värdena för ett redigerat objekt. |
| CanRemove |
Hämtar ett värde som anger om ett objekt kan tas bort från samlingen. |
| CurrentAddItem |
Hämtar det objekt som läggs till under den aktuella tilläggstransaktionen. |
| CurrentEditItem |
Hämtar objektet i samlingen som redigeras. |
| IsAddingNew |
Hämtar ett värde som anger om en tilläggstransaktion pågår. |
| IsEditingItem |
Hämtar ett värde som anger om en redigeringstransaktion pågår. |
| NewItemPlaceholderPosition |
Hämtar eller anger positionen för den nya objektplatshållaren i samlingsvyn. |
Metoder
| Name | Description |
|---|---|
| AddNew() |
Lägger till ett nytt objekt i samlingen. |
| CancelEdit() |
Avslutar redigeringstransaktionen och återställer om möjligt det ursprungliga värdet till objektet. |
| CancelNew() |
Avslutar lägg till transaktionen och tar bort det väntande nya objektet. |
| CommitEdit() |
Avslutar redigeringstransaktionen och sparar de väntande ändringarna. |
| CommitNew() |
Avslutar lägg till transaktionen och sparar det väntande nya objektet. |
| EditItem(Object) |
Påbörjar en redigeringstransaktion av det angivna objektet. |
| Remove(Object) |
Tar bort det angivna objektet från samlingen. |
| RemoveAt(Int32) |
Tar bort objektet på den angivna positionen från samlingen. |