IEditableCollectionViewAddNewItem.AddNewItem(Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona o objeto especificado à coleção.
public:
System::Object ^ AddNewItem(System::Object ^ newItem);
public object AddNewItem (object newItem);
abstract member AddNewItem : obj -> obj
Public Function AddNewItem (newItem As Object) As Object
Parâmetros
- newItem
- Object
O objeto a ser adicionado à coleção.
Retornos
O objeto que foi adicionado à coleção.
Exemplos
O exemplo a seguir chama o AddNewItem método para adicionar um objeto a uma coleção. Para obter o exemplo completo, consulte a IEditableCollectionViewAddNewItem classe .
using System;
using System.ComponentModel;
using System.Windows;
namespace IEditableCollectionViewAddItemExample
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
IEditableCollectionViewAddNewItem viewToAddDisparateItems =
catalogList.Items as IEditableCollectionViewAddNewItem;
if (!viewToAddDisparateItems.CanAddNewItem)
{
MessageBox.Show("You cannot add items to the list.");
return;
}
// Create a window that prompts the user to enter a new
// item to sell.
AddItemWindow win = new AddItemWindow();
// Create an item, depending on which RadioButton is selected.
// Radio buttons correspond to book, cd, dvd, or other.
LibraryItem newItem;
if ((bool)book.IsChecked)
{
newItem = new Book("Enter the book title", "Enter an Author", "Enter a Genre",
"Enter a call number", DateTime.Now + new TimeSpan(21, 0, 0, 0));
}
else if ((bool)cd.IsChecked)
{
newItem = new MusicCD("Enter the Album", "Enter the artist", 0, "CD.******",
DateTime.Now + new TimeSpan(14, 0, 0, 0));
}
else if ((bool)dvd.IsChecked)
{
newItem = new MovieDVD("Enter the movie title", "Enter the director",
"Enter the genre", new TimeSpan(), "DVD.******",
DateTime.Now + new TimeSpan(7, 0, 0, 0));
}
else
{
newItem = new LibraryItem("Enter the title", "Enter the call number",
DateTime.Now + new TimeSpan(14, 0, 0, 0));
}
// Add the new item to the collection by calling
// IEditableCollectionViewAddNewItem.AddNewItem.
// Set the DataContext of the AddItemWindow to the
// returned item.
win.DataContext = viewToAddDisparateItems.AddNewItem(newItem);
// 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())
{
viewToAddDisparateItems.CommitNew();
}
else
{
viewToAddDisparateItems.CancelNew();
}
}
}
}
Imports System.ComponentModel
Imports System.Windows
Partial Class Window1
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim viewToAddDisparateItems As IEditableCollectionViewAddNewItem =
TryCast(catalogList.Items, IEditableCollectionViewAddNewItem)
If Not viewToAddDisparateItems.CanAddNewItem Then
MessageBox.Show("You cannot add items to the list.")
Exit Sub
End If
' Create a window that prompts the user to enter a new
' item to sell.
Dim win As New AddItemWindow()
' Create an item, depending on which RadioButton is selected.
' Radio buttons correspond to book, cd, dvd, or other.
Dim newItem As LibraryItem
If CBool(Book.IsChecked) Then
newItem = New Book("Enter the book title", "Enter an Author",
"Enter a Genre", "Enter a call number",
DateTime.Now + New TimeSpan(21, 0, 0, 0))
ElseIf CBool(cd.IsChecked) Then
newItem = New MusicCD("Enter the Album", "Enter the artist",
0, "CD.******", DateTime.Now + New TimeSpan(14, 0, 0, 0))
ElseIf CBool(dvd.IsChecked) Then
newItem = New MovieDVD("Enter the movie title",
"Enter the director", "Enter the genre", New TimeSpan(),
"DVD.******", DateTime.Now + New TimeSpan(7, 0, 0, 0))
Else
newItem = New LibraryItem("Enter the title",
"Enter the call number",
DateTime.Now + New TimeSpan(14, 0, 0, 0))
End If
' Add the new item to the collection by calling
' IEditableCollectionViewAddNewItem.AddNewItem.
' Set the DataContext of the AddItemWindow to the
' returned item.
win.DataContext = viewToAddDisparateItems.AddNewItem(newItem)
' 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
viewToAddDisparateItems.CommitNew()
Else
viewToAddDisparateItems.CancelNew()
End If
End Sub
End Class
Comentários
Ao chamar o AddNewItem método , ele inicia uma transação de adição. Você deve chamar os CommitNew métodos ou CancelNew para encerrar a transação de adição.
Um novo item sempre aparece no modo de exibição de coleção. Qualquer filtragem, classificação ou agrupamento aplicado à exibição é aplicado ao novo item quando CommitNew é chamado.