2

我正在使用用户定义类型的 observableCollection 绑定网格。My Class 有一些属性,例如 FirstName、LastName、DateOfBirth 等。

当我绑定网格时。它显示相同的标题,即名字,但我希望它像名字一样。

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

我尝试过显示属性,但它不起作用。

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

4

1 回答 1

2

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

xml:

   <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”

前

后

于 2012-12-28T07:28:39.347 回答