使用DataGridCheckBoxColumn binding一个布尔属性时,发现无法checkbox无法勾选, 并且HeaderTemplate中的checkbox无法获取到viewmodel的IsSelectAll属性,
最后通过下列方式解决。注意放大的部分
<DataGridCheckBoxColumn x:Name="checkColumn" Width="43" Binding="{Binding Path=IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" CanUserSort="False" IsReadOnly="False"> <DataGridCheckBoxColumn.ElementStyle> <Style TargetType="CheckBox" /> </DataGridCheckBoxColumn.ElementStyle> <DataGridCheckBoxColumn.HeaderTemplate> <DataTemplate> <CheckBox IsChecked="{Binding Path=DataContext.IsSelectAll, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}}}" /> </DataTemplate> </DataGridCheckBoxColumn.HeaderTemplate> </DataGridCheckBoxColumn>