none
WPF 的 HeaderTemplate RRS feed

答案

  • 下面的示例创建两个 DataTemplate 对象来指定 HeaderedContentControlContentHeader 的外观。
    <Style TargetType="HeaderedContentControl">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type HeaderedContentControl}">
    <StackPanel>
    <Grid>
    <Rectangle Stroke="{TemplateBinding Background}"/>
    <ContentPresenter ContentSource="Header"/>
    </Grid>
    <Grid>
    <Rectangle Fill="{TemplateBinding Background}"/>
    <ContentPresenter ContentSource="Content"/>
    </Grid>
    </StackPanel>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>

    <DataTemplate x:Key="titleText">
    <TextBlock Text="{Binding}"
    Foreground="Green"
    FontSize="16"
    FontWeight="Normal"
    FontStyle="Italic"
    TextWrapping="Wrap"/>
    </DataTemplate>

    <DataTemplate x:Key="contentText">
    <TextBlock Text="{Binding}"
    Foreground="Brown"
    FontSize="12"
    FontWeight="Normal"
    FontFamily="Arial Narrow"
    TextWrapping="Wrap"/>
    </DataTemplate>


    ...


    <HeaderedContentControl Name="hcontCtrl" Background="Beige"
    HeaderTemplate="{StaticResource titleText}"
    ContentTemplate="{StaticResource contentText}"
    Header="This is the header."
    Content="This is the content."/>

    周雪峰
    2009年3月27日 8:53
    版主

全部回复

  • 你好!
         参考这里,希望对你有帮助:
     http://www.cnblogs.com/larrysunday/articles/1212998.html

    周雪峰
    2009年3月27日 8:16
    版主
  • 不好意思啊,这些理论的我看了一些,做了些试验,但总是不行,可以给我写个最简单的例子吗?谢谢!
    2009年3月27日 8:35
  • 下面的示例创建两个 DataTemplate 对象来指定 HeaderedContentControlContentHeader 的外观。
    <Style TargetType="HeaderedContentControl">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type HeaderedContentControl}">
    <StackPanel>
    <Grid>
    <Rectangle Stroke="{TemplateBinding Background}"/>
    <ContentPresenter ContentSource="Header"/>
    </Grid>
    <Grid>
    <Rectangle Fill="{TemplateBinding Background}"/>
    <ContentPresenter ContentSource="Content"/>
    </Grid>
    </StackPanel>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>

    <DataTemplate x:Key="titleText">
    <TextBlock Text="{Binding}"
    Foreground="Green"
    FontSize="16"
    FontWeight="Normal"
    FontStyle="Italic"
    TextWrapping="Wrap"/>
    </DataTemplate>

    <DataTemplate x:Key="contentText">
    <TextBlock Text="{Binding}"
    Foreground="Brown"
    FontSize="12"
    FontWeight="Normal"
    FontFamily="Arial Narrow"
    TextWrapping="Wrap"/>
    </DataTemplate>


    ...


    <HeaderedContentControl Name="hcontCtrl" Background="Beige"
    HeaderTemplate="{StaticResource titleText}"
    ContentTemplate="{StaticResource contentText}"
    Header="This is the header."
    Content="This is the content."/>

    周雪峰
    2009年3月27日 8:53
    版主