在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属性