C#-DataGrid的使用(二)

2023-03-17 274 0

单元格设置为只读

问题:直接使用IsReadOnly={Binding isReadonly}无法实现,原因:DataGridTextColumn并不是一个真正的可视化元素,所以它的依赖属性如Visibility、IsReadOnly、IsEnabled看起来是Bindable,但它们在Binding通知上并不生效。

解决:可以使用模板的方式实现,或者可以在样式上进行绑定。

<DataGridTextColumn.CellStyle>
    <Style>
        <Setter Property="UIElement.IsEnabled" Value="{Binding IsEnabled,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></Setter>
    </Style>
</DataGridTextColumn.CellStyle>

删除选中的行,支持多选

在Model中添加属性IsSelected,将其绑定到DataGridRow的IsSelected属性上,删除的时候遍历数据源如果IsSelected==True就移除。

<DataGrid.Resources>
    <Style TargetType="DataGridRow">
        <Setter Property="IsSelected" Value="{Binding IsSelected}"></Setter>
    </Style>
</DataGrid.Resources>

相关文章

C#-获取常用的路径
C#-DataGridColumn只能输入数字
C#-DataGridComboBoxColumn数据绑定
C#-Devexpress GridControl 标题内容居中
C#-Group By 的使用
【转】C#-Blazor组件间通信

发布评论