Флажок WPF datagird - выбор одним щелчком, событие срабатывания при проверке / снятии флажка - PullRequest
0 голосов
/ 18 июня 2020

У меня есть datagird WPF (Modern-UI):

<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>

Как я могу установить «выбор одним щелчком» для флажков (что-то вроде WinForms CheckOnClick)?

Как я могу запустить событие, когда флажок установлен / снят? Я пробовал BeginningEdit, CellEditEnding, CurrentCellChanged, а также с .UpdateLayout (), .CommitEdit () et c. Я просто хочу посчитать FolderSizeBytes и обновить его, когда флажок установлен.

Может быть, есть вариант GUI лучше для этой задачи?

1 Ответ

1 голос
/ 18 июня 2020

Вы можете заменить DataGridCheckBoxColumn на DataGridTemplateColumn:

<DataGridTemplateColumn Header="Auswahl" IsReadOnly="False">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...