【问题标题】:Grid Binding Column Names网格绑定列名称
【发布时间】:2012-12-28 06:22:42
【问题描述】:

我正在绑定一个用户定义类型的 observableCollection 网格。我的班级有一些属性,例如名字、姓氏、出生日期等。

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

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

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

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

【问题讨论】:

  • 谢谢 WooCash,我没有在任何地方绑定标题,我不想这样做。我已将 autogeneratedcolumns 设置为 true,因为同一个网格将绑定到不同的数据源。

标签: c# silverlight wcf-data-services


【解决方案1】:

不确定是否有办法在 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”

【讨论】:

  • 嘿,您能否对属性的排序部分提出一些建议,以便它以某种定义的顺序出现。我不能在网格中有静态列,并且网格将绑定到多个数据源,这些数据源将不同的对象集合
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2012-03-07
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多