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
, в примере пользователю сообщается, что элемент не может быть добавлен. В противном случае отображается форма, предлагающая пользователю добавить новый элемент. Полный пример см. в разделе Изменение коллекции с помощью примера 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
Комментарии
Объект IEditableCollectionView может добавить новый элемент, если верно следующее:
Элемент можно добавить в базовую коллекцию. Например, если коллекция доступна только для чтения, CanAddNew имеет значение
false
.может IEditableCollectionView создать объект типа , который находится в коллекции. Например, если коллекция имеет тип ObservableCollection<T>, IEditableCollectionView объект должен иметь возможность создать объект типа
T
.