Поделиться через


HeaderedContentControl.Header Свойство

Определение

Получение или установка данных, используемых в качестве заголовков элементов управления.

public:
 property System::Object ^ Header { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
[System.Windows.Localizability(System.Windows.LocalizationCategory.Label)]
public object Header { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Label)>]
member this.Header : obj with get, set
Public Property Header As Object

Значение свойства

Объект заголовка. Значение по умолчанию — null.

Атрибуты

Примеры

В следующем примере создается объект , TabControl содержащий два TabItem объекта , которые наследуются от HeaderedContentControl. Первый TabItem содержит UIElement объекты в качестве содержимого в Header и Content: Header для задается значение StackPanel , содержащее Ellipse и TextBlock; Content для — StackPanel значение , содержащее TextBlock и Label. Для Header второго TabItem задается строка, а для Content — один .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>

На следующем рисунке показан объект , TabControl созданный в предыдущем примере.

TabControl
TabControl с разными типами в свойстве Header

В следующем примере создаются два DataTemplate объекта для указания внешнего вида Header и ContentHeaderedContentControl.


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

Комментарии

Как и Content свойство ContentControlобъекта , может иметь любой Header тип. использует HeaderedContentControl ту же логику для отображения Header , которая описана в ContentControl.Content.

Сведения о свойстве зависимостей

Поле идентификатора HeaderProperty
Для свойств метаданных задано значение true Нет

Применяется к