首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当AutoGenerateColumns ="True"使用DataGrid时,为什么DataAnnotations <Display(Name:="My Name")>被忽略

当AutoGenerateColumns="True"使用DataGrid时,DataAnnotations<Display(Name:="My Name")>被忽略的原因是,DataGrid会自动生成列,并且不会读取DataAnnotations中的属性。因此,如果您希望在DataGrid中使用自定义列名,可以手动创建列并设置列名。

以下是一个示例,展示如何在DataGrid中手动创建列并设置列名:

代码语言:csharp
复制
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding MyItems}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="My Name" Binding="{Binding MyProperty}"/>
    </DataGrid.Columns>
</DataGrid>

在这个示例中,我们将AutoGenerateColumns设置为False,并手动创建了一个DataGridTextColumn,其Header属性设置为"My Name",并将其绑定到MyProperty属性。这样,DataGrid将不再自动生成列,而是使用我们手动创建的列,并显示我们指定的列名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年10月 WPF控件专题 DataGrid控件详解

以下是一些常用的DataGrid控件属性和方法:属性:AutoGenerateColumns:指定是否自动生成列。ItemsSource:指定数据源。IsReadOnly:指定是否只读。...DataGrid还有许多其他的属性和方法,可以根据需求进行使用。1.属性介绍WPF中DataGrid控件的常见属性如下:AutoGenerateColumns:是否自动生成列,默认为true。...2.常用场景WPF中DataGrid控件常用场景包括以下几个方面:数据展示:DataGrid控件可以方便地展示数据表格,特别是数据量比较大使用DataGrid可以快速地进行数据查看和筛选。...数据分页:DataGrid控件可以支持数据的分页显示,数据量比较大,可以将数据分页展示,方便用户进行快速的数据浏览和查找。...数据导入导出:DataGrid控件可以支持数据的导入和导出,可以将数据快速地导入到DataGrid中进行展示,也可以将DataGrid中的数据导出到其他文件格式中,方便数据的共享和使用

1.1K00
  • 【我们一起写框架】MVVM的WPF框架(四)—DataGrid

    为什么明知道违背设计逻辑,还要这样编写框架呢? 那是因为,我们编写的是框架,是使用MVVM的概念编写框架,而并不是要完美的实现MVVM设计。 两者有什么区别呢?区别就是前者是实战,后者只是个理念。...所以,我们在编写框架,设计模式中该切割的东西,就不要犹豫的切割。因为,架构师是设计模式的使用者,而不是使用者。...事实上,代码界也一样,总是会那不守规矩的程序员触犯法律,他们会让代码跨边界引用类库,或者拒绝使用接口声明对象等等。 为什么不能准守规则呢?...="True" SelectedItem="{Binding TestDataGrid.SelectedItem}" > ViewModel...}" AutoGenerateColumns="True" SelectedItem="{Binding TestDataGrid.SelectedItem

    1.2K20

    简单实现DataGrid使用CheckBox选择行

    DataGrid使用CheckBox选择行时典型的错误就是CheckBox没有Binding到任何属性上,这样的话拖动滚动条CheckBox.IsChecked就会乱掉,如Demo中左边那个DataGrid...AutoGenerateColumns="False"                       Grid.Column="1"                       x:Name="TestDataGrid...<sdk:DataGridTextColumn Header="<em>Name</em>"                                         Binding="{Binding <em>Name</em>}...= null)                 _headerCheckBox.IsChecked = <em>true</em>;             SetAllSelectedStates(<em>true</em>);         ...markObjects[obj];         }     } 其中MarkObject是一个继承INotifyPropertyChanged的类,包含Selected属性,这样更改IsSelected<em>时</em>可以更新

    87430

    .NETASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)

    元素但是是否要显示该属性的值,它是一个Bool类型参数(true:显示该属性值,false:不显示,并且在Display模式下也不显示); 这里我就有一个疑问了,在 Display模式下也不显示,但是一般很多场景下都是需要显示的...; } 25 } 26 } 这里通过Diaplay预定义特性来控制元数据显示选项,在Display特性中有很多可选属性用来进一步设置显示选项,这里我们只使用Name属性来设置该属性在界面上显示的文本信息...特性是孤身一人在System.Web.Mvc命名空间中,这可能对你造成了一些理解上的困扰;明明是ASP.NETMVC框架使用的对象为什么会跑到System.ComponentModel.DataAnnotations...在CustomDisplayName中的Name属性是我们设置的默认要显示的文本,如果我们设置了默认值将使用该值复写预定义特性Display设置的值; 图9: ?...,这就是设计时支持,拖拽的可以视为一个可以重用的组件,这是它在设计时的一个生命周期; 编译:当我们启动VS进行编译,组件有一个自我属性检查的过程,通常是用来检查我们的预设置项是否正确,比如一些WindowsService

    98950

    最新jquery+easyui_api培训文档

    onRestore none 窗口恢复到原来的大小时触发 onMinimize none 窗口最小化的时候触发 10.4 方法 名字 参数 描述 options none 返回设置的属性值...设置为true,面板被打开的时候忽略onBeforeOpen回调函数 close forceClose forceClose设置为true,面板关闭的时候忽略onBeforeClose回调函数 destroy...forceDestroy forceDestroy设置为true,面板销毁的时候忽略onBeforeDestroy回调函数 refresh none 设置了href值,刷新面板来加载远程数据...参数 描述 onLoad arguments 一个AJAX标签加载远程数据完成触发,参数和jQuery.ajax成功返回的回调函数相同 onSelect title 当用户选择一个标签面板触发...name:'My Name' } }); } function getSelected(){ var selected = $('#test').datagrid('getSelected

    3.2K40

    其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)

    SELECT tbl.name AS TableName, tbl.xtype AS TableType, col.name AS FieldName,        tt.name AS FieldType...="1px"     BackColor="White" CellPadding="4" ForeColor="Black" AutoGenerateColumns="False">     <FooterStyle...            base.OnInit(e);         }                  ///          ///        设计器支持所需的方法 - 不要使用代码编辑器... 保存数据             switch (Kind )             {                 case "":                     //添加验证是否有相同的记录...                myForm.DG.Items[].Cells[].Text = "编辑";                              }         } 用户控件只使用一个就可以了

    97290
    领券