HeaderedContentControl.Header Property

Gets or sets the data used for the header of each control.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[BindableAttribute(true)]
[LocalizabilityAttribute(LocalizationCategory.Label)]
public Object Header { get; set; }
<object>
  <object.Header>
    <Object .../>
  </object.Header>
</object>

Property Value

Type: System.Object
A header object. The default is null.

Identifier field

HeaderProperty

Metadata properties set to true

None

Like the Content property of a ContentControl, the Header can be any type. The HeaderedContentControl uses the same logic to display the Header that is described in ContentControl.Content.

The following example creates a TabControl that contains two TabItem objects, which inherit from HeaderedContentControl. The first TabItem has UIElement objects as the content in both the Header and the Content: the Header is set to a StackPanel that contains an Ellipse and a TextBlock; the Content is set to a StackPanel that contains a TextBlock and a Label. The Header of the second TabItem is set to a string and the Content is set to a single TextBlock.

<TabControl>
  <TabItem>
    <TabItem.Header>
      <StackPanel Orientation="Horizontal">
        <Ellipse Width="10" Height="10" Fill="DarkGray"/>
        <TextBlock>Tab 1</TextBlock>
      </StackPanel>
    </TabItem.Header>
    <StackPanel>
      <TextBlock>Enter some text</TextBlock>
      <TextBox Name="textBox1" Width="50"/>
    </StackPanel>
  </TabItem>
  <TabItem Header="Tab 2">
    <!--Bind TextBlock.Text to the TextBox on the first
    TabItem.-->
    <TextBlock Text="{Binding ElementName=textBox1, Path=Text}"/>
  </TabItem>
</TabControl>

The following illustration shows the TabControl created by the previous example.

TabControl with different types in the Header property

TabControl

The following example creates two DataTemplate objects to specify the appearance of the Header and Content of the HeaderedContentControl.


<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."/>

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft