У меня есть две кнопки в моем Wpf UI, который называется Add, Remove. Мое требование: если я нажму кнопку "Добавить", ему нужно добавить новую строку с двумя столбцами. Если я нажму кнопку "Удалить", он должен удалить последнюю вставленную строку. Я использую Grid для этого. Я хочу удалить последнюю строку из сетки. Я могу добавить строки с 2 столбцами. У меня есть код для удаления. Но это говорит о некоторой ошибке. Я не знаю, как удалить последнюю вставленную строку целиком, если я нажму кнопку "Удалить". У меня есть следующий код.
public int count = 1;
private void btn_add_Click(object sender, RoutedEventArgs e)
{
//Creating Rows..
RowDefinition row0 = new RowDefinition();
row0.Height = new GridLength(30);
grid1.RowDefinitions.Add(row0);
//Creating columns..
ColumnDefinition col0 = new ColumnDefinition();
ColumnDefinition col1 = new ColumnDefinition();
ColumnDefinition col2 = new ColumnDefinition();
col0.Width = new GridLength(100);
col1.Width = new GridLength(100);
grid1.ColumnDefinitions.Add(col0);
grid1.ColumnDefinitions.Add(col1);
int i = count;
ComboBox cmb = new ComboBox();
cmb.Items.Add("add");
cmb.Items.Add("remove");
Grid.SetRow(cmb, i);
Grid.SetColumn(cmb, 0);
grid1.Children.Add(cmb);
TextBox txt = new TextBox();
Grid.SetRow(txt, i);
Grid.SetColumn(txt, 1);
grid1.Children.Add(txt);
count++;
}
private void btn_remove_Click(object sender, RoutedEventArgs e)
{
grid1.RowDefinitions.RemoveAt(count);
count--;
}
Обычно вам не нужен дополнительный счетчик для удаления последней строки, просто используйте:
grid1.RowDefinitions.RemoveAt(grid1.RowDefinitions.Count - 1);
grid1.Children.RemoveAt(grid1.Children.Count-1);
/grid1.Children.RemoveAt(grid1.Children.Count-1);
список:grid1.Children.RemoveAt(grid1.Children.Count-1);