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.

형식을 ItemCollection, BindingListCollectionView, 및 ListCollectionView 함께 제공 되는 유형은 WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 에서 상속 되는 CollectionView합니다.The types ItemCollection, BindingListCollectionView, and ListCollectionView are the types that ship with WPF(Windows Presentation Foundation)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.

적용 대상