我在DataGrid1中的当前行
DataGridRow row = (DataGridRow)DataGridMain.ItemContainerGenerator.ContainerFromIndex(i);
但我想删除它
DataGrid1.Rows.Remove(row);
但是最后一段代码在WPF上不起作用,我怎么能重写呢?
row.Delete();不起作用
答案 0 :(得分:2)
您应该从ItemsSource中删除该行,并且将从您的网格中删除行。
itemsSource.Remove(itemsSource[i])
其中itemsSource是您网格的itemsSource
答案 1 :(得分:1)
好吧,如果你知道你的行的索引"我"如果你填充你的DataGrid项目属性(不使用ItemsSource) - 删除很简单:
//if creating is:
DataGridMain.Items.Add("one");
DataGridMain.Items.Add("two");
DataGridMain.Items.Add("three");
//remove is:
DataGridMain.Items.RemoveAt(1);
如果您使用了DataGrid.ItemsSource属性,那么请从ItemsSource对象中逐个删除项目:
//if creating is:
var rows = new ObservableCollection<string> { "one", "two", "three"};
DataGridMain.ItemsSource = rows;
//remove is:
rows.RemoveAt(1);