DataGrid代码生成的checkbox列,如何生成Click事件

DataTable dt = new DataTable();
dt.Columns.Add("a",typeof(bool)); 

怎么添加这列的Click事件,就是CheckBox的Click事件怎么通过代码来生成,
不是在XAML中写的列,而是通过代码生成的列。
要通过代码生成Click事件,类似这样
DataGrid.CellEditEnding += new EventHandler(DataGrid_CellEditEnding);

大概是这么一个思路,手写的,不保证对
ColumnHeader ch = new ColumnHeader("a", typeof(bool);
ch.Click += ...
dt.Columns.Add(ch);

虽然不知道你的具体需求是什么,但是据我理解就是**DataGrid行具有选中事件,需要对选中行做进一步操作处理**。
前台代码:

    <Grid>
        <DataGrid Width="800"
                  Margin="-20,0,0,0"
                  x:Name="table" 
                  Background="GhostWhite"
                  IsReadOnly="True"
                  RowDetailsVisibilityMode="VisibleWhenSelected">
            <DataGrid.Columns>
                <DataGridTemplateColumn Width="Auto">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <!--行开头添加一个按钮事件,用于数据详情折叠展示效果-->
                            <Button Click="Expander_Expanded"
                                                    Tag="0"
                                                    Foreground="White"
                                                    HorizontalAlignment="Right" Height="30" Width="35"
                                                    Content="&#xf103;" 
                                                    ToolTip="高级设置"
                                                    Margin="0,0,30,0"/>
                            <!--</Expander.Content>
                                    </Expander>-->
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTemplateColumn 
                                        MinWidth="50"
                                        Header="1"/>
                <DataGridTemplateColumn 
                                        MinWidth="50"
                                        Header="2"/>
                <DataGridTemplateColumn 
                                        MinWidth="125" Width="1*"
                                        Header="3"/>
                <DataGridTemplateColumn 
                                        MinWidth="100" Width="1*"
                                        Header="4"/>

                <DataGridTemplateColumn 
                                        MinWidth="100" Width="1*"
                                        Header="5"/>
                <DataGridTemplateColumn  
                                        MinWidth="100" Width="1*"
                                        Header="6"/>
                <DataGridTemplateColumn 
                                        MinWidth="100" Width="1*"
                                        Header="7"/>
                <DataGridTemplateColumn 
                                        MinWidth="100" Width="1*"
                                        Header="8"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>

后台方法:

        private void Expander_Expanded(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("1");
        }