【问题标题】:HeaderTemplate on DataGridDataGrid 上的 HeaderTemplate
【发布时间】:2014-06-12 19:07:15
【问题描述】:

我创建了一个 DataTemplate 用于 DataGrid 的 HeaderTemplate。我想让模板抓取 Header 属性文本,该文本将设置为列的名称,以便它可以将其用于 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 并将列的标题传递给它,还是我接近这个错误?

【问题讨论】:

    标签: c# wpf datagrid datatemplate


    【解决方案1】:

    您只需执行以下操作,因为标头模板的数据上下文是标头的内容(即DataGridTextColumn.Headerproperty 的值):

    <TextBlock TextAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap"
        Text="{Binding }" />
    

    【讨论】:

    • 我希望有一种方法可以不止一次地对此进行投票。非常感谢!
    猜你喜欢
    • 2011-07-12
    • 2011-03-01
    • 2013-09-25
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多