0

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>

問題は上記のコードで DataGridColumnHeader のテンプレートを設定してdefaultStyleいると思いますが、どうすればよいですか?

4

1 に答える 1

0

さて、テンプレートの代わりにContentTemplateを設定する必要がありました!!

<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>

于 2012-10-09T08:01:03.813 に答える