IEditableCollectionView IEditableCollectionView IEditableCollectionView IEditableCollectionView Interface

定義

CollectionView が実装するメソッドとプロパティを定義して、コレクションに編集機能を提供します。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
派生

次の例で定義されているメソッドを使用してコレクションに項目を追加する方法を示しています。IEditableCollectionViewします。The following example shows how to add an item to a collection by using methods that are defined by IEditableCollectionView. このアプリケーションは、販売品目の一覧を表示し、ユーザーの追加、編集、または項目を削除するオプションを提供します。This application displays a list of items for sale and gives the user the option of adding, editing, or removing an item. ユーザーを追加またはアイテムが編集、ときにフォームが新しい項目を入力するユーザーに求めます。When the user adds or edits an item, a form prompts the user to enter a new item. ユーザーは、フォームを送信する、項目がコレクションにコミットします。If the user submits the form, the item is committed to the collection. ユーザーは、フォームをキャンセルした場合、項目は破棄されます。If the user cancels the form, the item is discarded. サンプル全体については、次を参照してください。 IEditableCollectionView サンプルを使用してコレクションを変更するします。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

注釈

コレクション ビューを実装すると、IEditableCollectionViewインターフェイスを直接変更できます基になるコレクション、メソッドとプロパティを使用して、に対する変更を許可する場合をIEditableCollectionViewコレクションの種類に関係なく、公開します。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.

種類ItemCollectionBindingListCollectionView、およびListCollectionViewが付属している型Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)から継承したCollectionViewします。The types ItemCollection, BindingListCollectionView, and ListCollectionView are the types that ship with Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) that inherit from CollectionView. これらの型を実装も、IEditableCollectionViewので、これらの型のいずれかを使用するコレクションを編集することができます。These types also implement the IEditableCollectionView, so you can edit a collection that uses one of those types. ItemCollection、具体的には、多くの場合、ため、ItemsControl.Itemsプロパティは、ItemCollectionします。ItemCollection, in particular, is often used because the ItemsControl.Items property is an ItemCollection.

プロパティ

CanAddNew CanAddNew CanAddNew CanAddNew

新しい項目をコレクションに追加できるかどうかを示す値を取得します。Gets a value that indicates whether a new item can be added to the collection.

CanCancelEdit CanCancelEdit CanCancelEdit CanCancelEdit

コレクション ビューが保留中の変更を破棄して、編集されたオブジェクトの元の値を復元できるかどうかを示す値を取得します。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

コレクションから項目を削除できるかどうかを示す値を取得します。Gets a value that indicates whether an item can be removed from the collection.

CurrentAddItem CurrentAddItem CurrentAddItem CurrentAddItem

現在の追加トランザクション処理中に追加される項目を取得します。Gets the item that is being added during the current add transaction.

CurrentEditItem CurrentEditItem CurrentEditItem CurrentEditItem

編集されているコレクション内の項目を取得します。Gets the item in the collection that is being edited.

IsAddingNew IsAddingNew IsAddingNew IsAddingNew

追加トランザクションが実行中かどうかを示す値を取得します。Gets a value that indicates whether an add transaction is in progress.

IsEditingItem IsEditingItem IsEditingItem IsEditingItem

編集トランザクションが実行中かどうかを示す値を取得します。Gets a value that indicates whether an edit transaction is in progress.

NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition NewItemPlaceholderPosition

コレクション ビューにある新しい項目のプレースホルダーの位置を取得または設定します。Gets or sets the position of the new item placeholder in the collection view.

メソッド

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

新しい項目をコレクションに追加します。Adds a new item to the collection.

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

編集トランザクションを終了し、可能な場合は、項目の元の値を復元します。Ends the edit transaction and, if possible, restores the original value to the item.

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

追加トランザクションを終了し、保留中の新しい項目を破棄します。Ends the add transaction and discards the pending new item.

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

編集トランザクションを終了し、保留中の変更を保存します。Ends the edit transaction and saves the pending changes.

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

追加トランザクションを終了し、保留中の新しい項目を保存します。Ends the add transaction and saves the pending new item.

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

指定した項目の編集トランザクションを開始します。Begins an edit transaction of the specified item.

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

指定した項目をコレクションから削除します。Removes the specified item from the collection.

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

コレクション内の指定した位置にある項目を削除します。Removes the item at the specified position from the collection.

適用対象