如何在 Visual Studio 2012 中更正 wpf datagrid 列名冗余
Posted
技术标签:
【中文标题】如何在 Visual Studio 2012 中更正 wpf datagrid 列名冗余【英文标题】:how can i correct wpf datagrid column name redundancy in visual studio 2012 【发布时间】:2012-11-10 14:31:36 【问题描述】:private void ViewWinLoaded(object sender, RoutedEventArgs e)
var stud = from s in data.Students
select s;
Student[] st=stud.ToArray<Student>();
datagrid.ItemsSource = st;
以上是我的C#代码。
<DataGrid x:Name="datagrid" HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461">
<DataGrid.Columns>
<DataGridTextColumn Binding="Binding Path=StudentID" ClipboardContentBinding="x:Null" Header="StudentID"/>
<DataGridTextColumn Binding="Binding Path=FirstName" ClipboardContentBinding="x:Null" Header="First Name"/>
<DataGridTextColumn Binding="Binding Path=LastName" ClipboardContentBinding="x:Null" Header="Last Name"/>
<DataGridTextColumn Binding="Binding Path=Gender" ClipboardContentBinding="x:Null" Header="Gender"/>
<DataGridTextColumn Binding="Binding Path=GPA" ClipboardContentBinding="x:Null" Header="GPA"/>
</DataGrid.Columns>
</DataGrid>
我想要实现的是使用我自己的列名,而不是 dB 中的列名。 但是当我运行代码时,它会同时显示我的自定义列和数据库中的列名(级联名称)
【问题讨论】:
为什么stud.ToArray<Student>();
ItemSource 是 IEnumerable。
【参考方案1】:
通过将 AutoGenerateColumns 属性设置为 false 来防止 DataGrid 生成列。
<DataGrid x:Name="datagrid" AutoGenerateColumns="False"
HorizontalAlignment="Left" Height="232" VerticalAlignment="Top" Width="461">
【讨论】:
【参考方案2】:实现此结果的另一种方法是,您可以将 Student 类属性 DisplayName
的每个公共属性设置为。
【讨论】:
以上是关于如何在 Visual Studio 2012 中更正 wpf datagrid 列名冗余的主要内容,如果未能解决你的问题,请参考以下文章
在运行Visual Studio 2012时,出现如下图错误,如何解决?
如何在 Visual Studio 2012 中更正 wpf datagrid 列名冗余
如何在 Visual Studio 2012(或 Resharper)中禁用 /* 自动完成