如何获取datagrid中的checkbox的问题,我是这样写的。
<DataGrid AutoGenerateColumns="False" Name="customerInfo" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CanUserAddRows="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header=" " Binding="{Binding ID}"></DataGridTextColumn>
<DataGridTemplateColumn Header="操作" Width="40">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="check"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
部分代码如上。
操作代码如下:
var cols = this.customerInfo.Columns[1];
foreach(var item in this.customerInfo.ItemsSource)
{
学生信息表 s = item as 学生信息表;
var cells = cols.GetCellContent(s);
if (cells != null)
{
ContentPresenter pr = cells as ContentPresenter;
CheckBox checkbox = pr.ContentTemplate.FindName("check", pr) as CheckBox;
checkbox.IsChecked = true;
}
总算完成了这个项目,获得得还是有一点的。