我创建了一个DataTemplate,用于DataGrid的HeaderTemplate。我想让模板获取Header属性文本,该文本将设置为列的名称,以便它可以将其用于DataTemplate中控件的文本。
这是DataTemplate
<DataTemplate x:Key="AncillaryHeaderTemplate">
<Border Background="Transparent" BorderThickness="0" Height="60" Name="ab">
<TextBlock TextAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap"
Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type DataGridTextColumn}}, Path=Header, Mode=TwoWay}" />
</Border>
</DataTemplate>
这是DataGrid
<DataGrid Name="AncillaryGrid">
<DataGrid.Columns>
<DataGridTextColumn Header="Account" HeaderStyle="{StaticResource AncillaryHeaderStyle}" HeaderTemplate="{StaticResource AncillaryHeaderTemplate}" />
有没有更好的方法来获得DataTemplate并将列的标题传递给它或者我是否接近这个错误?
答案 0 :(得分:2)
您只需执行以下操作,因为标头模板的数据上下文是标头的内容(即DataGridTextColumn.Header
属性的值):
<TextBlock TextAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap"
Text="{Binding }" />