更改 DataGrid 列标题文本 [英] Change DataGrid column header text

查看:33
本文介绍了更改 DataGrid 列标题文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个特定类类型 Person 的列表,我想用它制作一个 DataGrid.

I have a list of a specific class type Person and I want to make a DataGrid with it.

private void DataGrid_Loaded(object sender, RoutedEventArgs e) {
    List<Person> x; //Don't worry, x has data in it
    (sender as DataGrid).ItemsSource = x;
}

还有 Person 类:

class Person {
    string fName, lName;
}

毕竟我得到了一个带有标题的表格:fName"和lName".如何将其更改为:名字"和姓氏"?

After all this I get a table with the headers: "fName" and "lName". How can I change that to: "First Name" and "Last Name"?

推荐答案

正确的做法是:

首先在代码隐藏中定义一个ObservableCollection,用于保存人员列表

First Define an ObservableCollection in the codebehind that will hold a list of persons

第二 将该列表绑定到 DataGrid ItemSource 并绑定其属性

Second Bind that list to the DataGrid ItemSource and Bind its properties

您可以通过简单地禁用 AutoGenerateColumns 并自行设置它们的名称来更改每列显示的名称

You can change what name to display on each column by simply disabling the AutoGenerateColumns and setting their names by your self

这里是完整代码

<DataGrid ItemsSource="{Binding ListPersons}" AutoGenerateColumns="False">
      <DataGrid.Columns >
            <DataGridTextColumn Header="First Name" Binding="{Binding FName}"></DataGridTextColumn>
            <DataGridTextColumn Header="Last Name" Binding="{Binding LName}"></DataGridTextColumn>
      </DataGrid.Columns>
  </DataGrid>

和背后的代码:

public class Person
{
    public String FName { get; set; }   
    public String LName { get; set; }   

}
public partial class MainWindow : Window
{
    public ObservableCollection<Person> ListPersons { get; set; }
    public MainWindow()
    {
        ListPersons=new ObservableCollection<Person>()
        {
            new Person()
            {
                FName = "FName1",
                LName = "LName1"
            },
             new Person()
            {
                FName = "FName2",
                LName = "LName2"
            }

        };
        this.DataContext = this;

    }


}

这篇关于更改 DataGrid 列标题文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆