2 способа сделать это, предыдущий пример почти имел это, но привязка не смогла бы разрешить свойство, потому что в выражении отсутствовал "DataContext."
<DataGrid>
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.YourProperty}"></TextBlock>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<!--your stuff-->
</DataGrid>
2-й способ сделать это - создать конвертер для получения привязки, проанализировать его в конвертере и выложить любое желаемое строковое значение:
<Views:DataGridRowDataContextToRowHeaderValueConverter x:Key="toRowHeaderValue"/>
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type DataGridRow}},
Converter={StaticResource toRowHeaderValue}}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
Пример кода конвертера:
public class DataGridRowDataContextToRowHeaderValueConverter : IValueConverter
{
public object Convert (object value, Type targetType, object parameter,
CultureInfo culture)
{
var dataGridRow = (DataGridRow) value;
var row = (GridModelExtensions.HourRow) dataGridRow.DataContext;
return row.Days[0].Hour;
}
}