我有一个 DataGrid,它从列表中获取 Name、Age 和 IsFriend 值。我以这种方式格式化了我的列:
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Age" Binding="{Binding Path=Age}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Friend">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsFriend, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Checked="CheckBox_ValueChanged"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
在我后面的 CheckBox_ValueChanged 代码中,我希望能够获取选择了 IsFriend CheckBox 的人的姓名。这是我背后代码的粗略草图:
private void CheckBox_ValueChanged(object sender, RoutedEventArgs e)
{
var checkBox = sender as CheckBox;
//string name = Get the name that corresponds to the checkBox
//Perform actions using the checkbox and name
}
我不确定是否应该将该行传递给 CheckBox_ValueChanged 方法(或如何做到这一点),或者是否有更简单的方法来使用 XAML 中的数据绑定或类似的东西来获取名称。