Я хочу связать свой заголовок сетки данных со свойством в DataContext сетки. Теперь я получил его на работу, но я считаю это временным решением:
<DataGrid x:Name="grid" ItemsSource="{Binding Path=Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Description}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding ElementName=grid, Path=DataContext.ItemsUnit}"></TextBlock>
</DataTemplate>
Самая большая проблема этого решения заключается в том, что оно делает привязку более хрупкой (контекстно-зависимой). Если DataContext сетки используется в сценарии мастер / подробности (что делает DataContext BindingList вместо одного элемента), мне придется заменить обновление DataGrid DataContext на DataContext={Binding /}
.
Есть ли более надежный способ привязки из DataGrid.HeaderTemplate, чем использование ElementName и обращение к DataContext?