Язык

IEditableCollectionView.CanAddNew Свойство

Определение

Возвращает значение, указывающее, можно ли добавить новый элемент в коллекцию.

public:
 property bool CanAddNew { bool get(); };
public bool CanAddNew { get; }
member this.CanAddNew : bool
Public ReadOnly Property CanAddNew As Boolean

Значение свойства

true Значение , если новый элемент можно добавить в коллекцию; falseв противном случае .

Примеры

В следующем примере проверяется, можно ли добавить элемент в коллекцию. Если CanAddNew это falseтак, в примере пользователь сообщает пользователю, что элемент не может быть добавлен. В противном случае отображается форма, которая предложит пользователю добавить новый элемент. Полный пример см. в разделе 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

Комментарии

Можно IEditableCollectionView добавить новый элемент, если задано значение true:

  • Элемент можно добавить в базовую коллекцию. Например, если коллекция доступна только для чтения, CanAddNew имеет значение false.

  • Объект IEditableCollectionView может создать объект типа, который находится в коллекции. Например, если коллекция имеет тип ObservableCollection<T>, IEditableCollectionView необходимо создать объект типа T.

Применяется к