IEditableCollectionView Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje metody i właściwości implementujące CollectionView funkcje edytowania kolekcji.
public interface class IEditableCollectionView
public interface IEditableCollectionView
type IEditableCollectionView = interface
Public Interface IEditableCollectionView
- Pochodne
Przykłady
W poniższym przykładzie pokazano, jak dodać element do kolekcji przy użyciu metod zdefiniowanych przez metodę IEditableCollectionView. Ta aplikacja wyświetla listę elementów do sprzedaży i daje użytkownikowi możliwość dodawania, edytowania lub usuwania elementu. Gdy użytkownik dodaje lub edytuje element, formularz monituje użytkownika o wprowadzenie nowego elementu. Jeśli użytkownik prześle formularz, element zostanie zatwierdzony do kolekcji. Jeśli użytkownik anuluje formularz, element zostanie odrzucony. W całym przykładzie zobacz Zmienianie kolekcji przy użyciu przykładu 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
Uwagi
Gdy widok kolekcji implementuje IEditableCollectionView interfejs, możesz bezpośrednio zmienić podstawową kolekcję, jeśli zezwala na wprowadzanie zmian, przy użyciu metod i właściwości, które IEditableCollectionView uwidacznia, niezależnie od typu kolekcji.
Typy , i są typamiItemCollection, które są dostarczane z Windows Presentation Foundation (WPF), które dziedziczą z CollectionView.ListCollectionViewBindingListCollectionView Te typy implementują również metodę IEditableCollectionView, aby można było edytować kolekcję, która używa jednego z tych typów. ItemCollection, w szczególności, jest często używany, ponieważ ItemsControl.Items właściwość jest ItemCollection.
Właściwości
CanAddNew |
Pobiera wartość wskazującą, czy można dodać nowy element do kolekcji. |
CanCancelEdit |
Pobiera wartość wskazującą, czy widok kolekcji może odrzucić oczekujące zmiany i przywrócić oryginalne wartości edytowanego obiektu. |
CanRemove |
Pobiera wartość wskazującą, czy element można usunąć z kolekcji. |
CurrentAddItem |
Pobiera element, który jest dodawany podczas bieżącej transakcji dodawania. |
CurrentEditItem |
Pobiera element w kolekcji, który jest edytowany. |
IsAddingNew |
Pobiera wartość wskazującą, czy transakcja dodawania jest w toku. |
IsEditingItem |
Pobiera wartość wskazującą, czy transakcja edycji jest w toku. |
NewItemPlaceholderPosition |
Pobiera lub ustawia położenie nowego symbolu zastępczego elementu w widoku kolekcji. |
Metody
AddNew() |
Dodaje nowy element do kolekcji. |
CancelEdit() |
Kończy transakcję edycji i, jeśli to możliwe, przywraca oryginalną wartość do elementu. |
CancelNew() |
Kończy dodawanie transakcji i odrzuca oczekujący nowy element. |
CommitEdit() |
Kończy transakcję edycji i zapisuje oczekujące zmiany. |
CommitNew() |
Kończy dodawanie transakcji i zapisuje oczekujący nowy element. |
EditItem(Object) |
Rozpoczyna edycję transakcji określonego elementu. |
Remove(Object) |
Usuwa określony element z kolekcji. |
RemoveAt(Int32) |
Usuwa element na określonej pozycji z kolekcji. |