0

I have a WPF (Modern-UI) datagird:

<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserResizeRows="False" CanUserAddRows="False" Margin="1,1,1,0" HorizontalAlignment="Left" VerticalAlignment="Top" DockPanel.Dock="Top" Visibility="Hidden" BeginningEdit="DG1_BeginningEdit" >
            <DataGrid.Columns>
                <mui:DataGridCheckBoxColumn Header="Auswahl" Binding="{Binding IsSelected,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" />
                <mui:DataGridTextColumn Header="Name"  Binding="{Binding FolderName}"/>
                <mui:DataGridTextColumn Header="Größe" Binding="{Binding FolderSize}"/>
                <mui:DataGridTextColumn Header="Pfad" Binding="{Binding FolderPath}" />
                <mui:DataGridTextColumn Header="Pfad" Binding="{Binding FolderSizeBytes}" Visibility="Hidden" />
            </DataGrid.Columns>
        </DataGrid>

How can I set 'one click select' for checkboxes (something like WinForms CheckOnClick)?

How can I fire an event when a checkbox is checked/unchecked? I tried BeginningEdit, CellEditEnding, CurrentCellChanged, also with .UpdateLayout(), .CommitEdit() etc. I just want to count FolderSizeBytes and update it when checkbox is checked.

Is there maybe a better GUI option for this task?

Marcin
  • 13
  • 4

1 Answers1

3

You could replace the DataGridCheckBoxColumn with a DataGridTemplateColumn:

<DataGridTemplateColumn Header="Auswahl" IsReadOnly="False">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
mm8
  • 163,881
  • 10
  • 57
  • 88