网格绑定列名称

时间:2012-12-28 06:22:42

标签: c# silverlight wcf-data-services

我使用用户定义类型的observableCollection绑定网格。我的班级有一些属性,例如FirstName,LastName,DateOfBirth等。

当我绑定Grid时。它显示相同的标题,即FirstName,但我希望它像First Name。

我确信类中的属性与属性有关,但我不知道应该使用哪个属性。

我尝试过显示属性,但它无效。

任何信息都会有所帮助......

1 个答案:

答案 0 :(得分:2)

不确定是否有办法在xaml中执行此操作,但您可以添加一个EventHandler并添加一些逻辑来更改ColumnHeader文本。

XAML:

   <DataGrid ItemsSource="{Binding ...}" AutoGeneratingColumn="DataGrid_AutoGeneratingColumn" />

代码:

  private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
  {
     e.Column.Header = string.Concat(e.Column.Header.ToString().Select(x => char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' '); 
  }

这会将Pascal大小写转换为大写字符之间的空格,例如:“FirstName”=“First Name”

Before

After