当AutoGenerateColumns="True"使用DataGrid时,DataAnnotations<Display(Name:="My Name")>被忽略的原因是,DataGrid会自动生成列,并且不会读取DataAnnotations中的属性。因此,如果您希望在DataGrid中使用自定义列名,可以手动创建列并设置列名。
以下是一个示例,展示如何在DataGrid中手动创建列并设置列名:
<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将不再自动生成列,而是使用我们手动创建的列,并显示我们指定的列名。
领取专属 10元无门槛券
手把手带您无忧上云