【问题标题】:How to derive my own DataGridColumnHeaderStyle from the default DataGridColumnHeader?如何从默认的 DataGridColumnHeader 派生出我自己的 DataGridColumnHeaderStyle?
【发布时间】:2012-09-22 07:16:48
【问题描述】:

我为 DataGridColumnHeader 做了一个样式,我想从默认的 DataGridColumnHeader 派生它,所以我这样做:

  <Style TargetType="{x:Type DataGridColumnHeader}" x:Key="ColumnHeaderStyle" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
                    <TextBlock Grid.Column="1" Grid.Row="0"  Text="{TemplateBinding Content}" HorizontalAlignment="Center">
                    </TextBlock>
                  ......
               </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

但是不行,DataGrid好像没有defaultStyle了,我认为问题是在上面的代码中为DataGridColumnHeader设置模板,但是我该怎么办?

【问题讨论】:

  • 哪些属性没有被继承?
  • 例如,我不能再使用鼠标左键在两个列标题之间单击来更改列的宽度!
  • @raha 您可以使用BasedOn 继承样式,但您不能“继承”单个样式属性...并且覆盖ControlTemplate 属性将删除许多默认功能.我建议问问你到底想做什么。
  • @dbaseman:嗯,我想在 DataGridColumnHeader 中添加一个 TextBox 和一个 Button,并从默认的 DataGridColumnHeaderStyle 继承样式和单个样式属性,如果没有 ControlTemplate,我该怎么做?

标签: wpf styles wpfdatagrid


【解决方案1】:

好吧,我只需要将 ContentTemplate 设置为 Template!

<Style TargetType="{x:Type DataGridColumnHeader}" x:Key="ColumnHeaderStyle" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="ContentTemplate">
    <Setter.Value>
        <DataTemplate>
            <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
                <TextBlock Grid.Column="1" Grid.Row="0"  Text="{TemplateBinding Content}" HorizontalAlignment="Center">
                </TextBlock>
              ......
           </Grid>
        </DataTemplate>
    </Setter.Value>
</Setter>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多