Как удалить последнюю строку в сетке с помощью WPF?

1

У меня есть две кнопки в моем 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--;
    }
Теги:
wpf
grid

1 ответ

0
Лучший ответ

Обычно вам не нужен дополнительный счетчик для удаления последней строки, просто используйте:

  grid1.RowDefinitions.RemoveAt(grid1.RowDefinitions.Count - 1);
  • 0
    Не забудьте также удалить последний дочерний grid1.Children.RemoveAt(grid1.Children.Count-1); / grid1.Children.RemoveAt(grid1.Children.Count-1); список: grid1.Children.RemoveAt(grid1.Children.Count-1);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню