如何在 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&lt;Student&gt;(); 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)中禁用 /* 自动完成

在 Visual Studio 2012 RC 中,如何调试 javascript IntelliSense 扩展?

如何用visual studio2012编c++程序?

如何使用 Visual Studio 2012 构建 cppunit