我这样做:
private void dataGrid1_RowEditEnding(object sender,DataGridRowEditEndingEventArgs e) {
Person newPerson = ((Person)dataGrid1.SelectedItem);
foreach (Person person in lista)
{
if(person.Id == newPerson.Id)
{
person.Name = newPerson.Name;
person.Salary = newPerson.Salary;
}
}
}
但是当我在编辑一行后按“enter”时,在newPerson对象中名称没有改变。 我认为这是因为这个事件是“结束”,而不是“结束”。
我已经在模式2中绑定了这个东西。像这样:
<DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}" Header="Name"></DataGridTextColumn>
答案 0 :(得分:1)
事件名称为RowEditEnding。只需确保XAML中的事件处理程序名称与后面代码中的处理程序名称相匹配。话虽如此,如果你没有匹配的名字,你会得到一个例外。