How to perform Single click checkbox selection in WPF DataGrid? How to perform Single click checkbox selection in WPF DataGrid? wpf wpf

How to perform Single click checkbox selection in WPF DataGrid?


For single click DataGrid checkbox you can just put regular checkbox control inside DataGridTemplateColumn and set UpdateSourceTrigger=PropertyChanged.

<DataGridTemplateColumn.CellTemplate>    <DataTemplate>        <CheckBox IsChecked="{Binding Path=IsSelected, UpdateSourceTrigger=PropertyChanged}" />    </DataTemplate></DataGridTemplateColumn.CellTemplate>


I solved this with the following Style:

<Style TargetType="DataGridCell">     <Style.Triggers>         <Trigger Property="IsMouseOver" Value="True">             <Setter Property="IsEditing" Value="True" />         </Trigger>     </Style.Triggers> </Style>

It's of course possible to adapt this further for specific columns ...


First of, I know this is a pretty old question but I still thought I'd try and answer it.

I had the same problem a couple of days ago and came across a surprisingly short solution for it (see this blog). Basically, all you need to do is replace the DataGridCheckBoxColumn definition in your XAML with the following:

<DataGridTemplateColumn Header="MyCheckBoxColumnHeader">    <DataGridTemplateColumn.CellTemplate>        <DataTemplate>            <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding Path=MyViewModelProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />        </DataTemplate>    </DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn>

The upside of this solution is obvious - it's XAML-only; thus it effectively refrains your from burdening your code-behind with additional UI logic.