WPF的CheckBox 多选问题

在WPF代码中


<DataGrid.ColumnHeaderStyle>
                            <Style TargetType="DataGridColumnHeader">
                                <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
                            </Style>
                        </DataGrid.ColumnHeaderStyle>
                        <DataGrid.RowHeaderTemplate>
                            <DataTemplate>
                                <CheckBox Click="checkbox_checked" Tag="{Binding ID}" IsChecked="{Binding IsSelected, Mode=TwoWay}" />
                            </DataTemplate>

                        </DataGrid.RowHeaderTemplate>
                        <DataGrid.Columns>
                            <DataGridTextColumn IsReadOnly="True" Width="80" CanUserResize="False" Binding="{Binding ID}" Header="ID" FontSize="14" ElementStyle="{StaticResource ContentStyle}" />
                            <DataGridTextColumn  Binding="{Binding Rname}" Width="180" Header="区域名" FontSize="14" ElementStyle="{StaticResource ContentStyle}" />

这里面的Tag="{Binding ID}"得不到值

<CheckBox Click="checkbox_checked" Tag="{Binding ID}" IsChecked="{Binding IsSelected, Mode=TwoWay}" />

但是,这个Binding="{Binding ID}"可以

<DataGridTextColumn IsReadOnly="True" Width="80" CanUserResize="False" Binding="{Binding ID}" Header="ID" FontSize="14" ElementStyle="{StaticResource ContentStyle}" />

Tag属性并不支持数据绑定,只能绑定静态值。

若需要将ID属性作为Tag,可以使用其他方法来实现,比如可以在CheckBox的Loaded事件中设置Tag属性