2017-01-03 2 views
1

Мой вопрос похож на Why DataColumn.Caption doesn't work?, но для WPF. У меня есть DataGrid, связанный с DataTable с использованием шаблона MVVM. DataGrid имеет AutoGenerateColumns = true. Как связать текст заголовка DataGridColumn с DataColumn.Caption вместо DataColumn.ColumnName? Я надеялся на такое решение:Binding DataColumn.Caption to DataGrid Header

<DataGrid ItemsSource="MyDataTable" AutoGenerateColumns="true"> 
    <DataGrid.Resources> 
     <Style TargetType="{x:Type DataGridColumnHeader}"> 
      <Setter Property="ContentTemplate"> 
       <Setter.Value> 
        <DataTemplate> 
         <TextBlock Text="{Binding DataColumn.Caption}"> <!--this does not work--> 
... 
</DataGrid> 

ответ

0

В итоге я решил решить эту проблему в коде.

private void dgResults_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
{ 
    e.Column.Header = tableResults.Columns[e.PropertyName].Caption; 
}