【问题标题】:WPF datagird checkbox - one click select, fire event on check/uncheckWPF数据网格复选框 - 一键选择,选中/取消选中触发事件
【发布时间】:2020-06-18 22:23:10
【问题描述】:

我有一个 WPF(现代 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() 等。我只想计算FolderSizeBytes 并在选中复选框时更新它。

此任务是否有更好的 GUI 选项?

【问题讨论】:

    标签: c# wpf datagrid modern-ui


    【解决方案1】:

    您可以将DataGridCheckBoxColumn 替换为DataGridTemplateColumn

    <DataGridTemplateColumn Header="Auswahl" IsReadOnly="False">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <CheckBox IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2012-01-02
      • 2015-03-28
      • 2011-06-16
      • 1970-01-01
      相关资源
      最近更新 更多