2014-05-25 74 views
1

我在我的Wpf UI中有兩個按鈕,分別命名爲Add,Remove。我的要求是,如果我點擊添加按鈕它必須添加與兩列的新行。如果我點擊刪除按鈕,它必須刪除最後插入的行。我爲此使用Grid。 我想從網格中刪除最後一行。我可以添加2列的行。我有刪除代碼。但它說有一些錯誤。我不知道如何完全刪除最後插入的行,如果我點擊刪除按鈕。我有以下代碼。如何使用WPF刪除網格中的最後一行?

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--; 
    } 

回答

0

你通常並不需要額外的計數器去除最後一行,只需使用:

grid1.RowDefinitions.RemoveAt(grid1.RowDefinitions.Count - 1); 
+0

不要忘了也去掉最後一個子/組合框:'grid1.Children.RemoveAt (grid1.Children.Count-1);' – Jan