我在MVVM中有一个DataGrid,它的ItemsSource被绑定到一个自定义模型。
此模型中的属性的命名方式与其在数据库中的等价物相同。例如:
public string StapelStatus_Txt
{
get
{
return this.stapelstatusTxt;
}
set
{
this.stapelstatusTxt = value;
this.OnPropertyChanged("StapelStatus_Txt");
}
}有没有可能(不重命名属性)为数据网格声明另一个displayname?我认为数据名称"DisplayName“会有所帮助……但事实并非如此。
有人有主意了吗?:)
亲切的问候
发布于 2012-12-18 01:12:45
例如,您可以在属性上使用DisplayNameAttribute,并按如下方式设置列标题:
<DataGrid AutoGeneratingColumn="OnAutoGeneratingColumn"/>
private void OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
e.Column.Header = ((PropertyDescriptor)e.PropertyDescriptor).DisplayName;
}发布于 2012-12-18 00:29:09
一种方法可能是
<DataGrid AutoGeneratingColumn="DataGrid_AutoGeneratingColumn">
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
e.Column.Header = MyPropertyNameConverter.Convert(e.PropertyName);
}https://stackoverflow.com/questions/13915386
复制相似问题