C#-DataGrid的使用(二)

简介: DataGrid的使用

单元格设置为只读

问题:直接使用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>
目录
相关文章
|
4月前
|
前端开发 测试技术 C#
WPF/C#:在DataGrid中显示选择框
WPF/C#:在DataGrid中显示选择框
70 0
C#-DataGrid的使用(三)
C#-DataGrid的使用
59 0
|
SQL 数据库 C#
C#中将DataGrid绑定到SQL Server数据库,显示数据库中的数据
C#中将DataGrid绑定到SQL Server数据库,显示数据库中的数据
C#中将DataGrid绑定到SQL Server数据库,显示数据库中的数据
|
SQL 数据库 C#
C#中将DataGrid上的修改同步到SQL Server数据库中
C#中将DataGrid上的修改同步到SQL Server数据库中
C# DataGrid 控件在winform里显示行号
#region 行绘制事件 ,为DataGridView每行写上序号 /// /// 行绘制事件 ,为DataGridView每行写上序号 /// /// ...
1034 0
|
1月前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
36 3
|
4天前
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
31 12