2009-10-21 37 views
0

我现在有这有一个自定义标题,它被定义为Style这样的部分定制TabItem定制内容WPF

<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type t:TwitterListTabItem}"> 
      <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Margin="0,-2,0,0" > 
       <Grid SnapsToDevicePixels="true"> 
        <ContentPresenter x:Name="Content" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" ContentSource="Header" RecognizesAccessKey="True" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="{TemplateBinding Padding}"/> 
        <Button x:Name="PART_Close" HorizontalAlignment="Right" Margin="0" Padding="4" VerticalAlignment="Top" Width="16" Height="16" Style="{DynamicResource CloseableTabItemButtonStyle}" ToolTip="Close Tab"> 
         <Path x:Name="Path" Stretch="Fill" StrokeThickness="0.5" Fill="#FFFFFF" Data="F1 M 2.28484e-007,1.33331L 1.33333,0L 4.00001,2.66669L 6.66667,6.10352e-005L 8,1.33331L 5.33334,4L 8,6.66669L 6.66667,8L 4,5.33331L 1.33333,8L 1.086e-007,6.66669L 2.66667,4L 2.28484e-007,1.33331 Z " HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/> 
        </Button> 
        <Button x:Name="PART_Number" HorizontalAlignment="Right" Padding="0" Margin="0" VerticalAlignment="Bottom" Width="16" Height="16" Style="{DynamicResource CloseableTabItemNumberStyle}" ToolTip="New Tweets" Content="{TemplateBinding NewTweetsNumber}" /> 
       </Grid> 
      </Border> 

      <ControlTemplate.Triggers> 
       .....Triggers Removed for Shortness.... 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter 

现在我想设置的内容区域模板TabItem。我无法解决如何做到这一点。我尝试过设置ContentTemplate,其中<ControlTemplate>包含ListBox,但它不起作用。

那么我如何定义一个模板来控制内容?

在此先感谢

回答

3

使用TabItem.HeaderTemplate属性的标签头和TabItem.Template财产为您选项卡的内容。 Example

+0

给出了错误 “System.Windows.Controls.ControlTemplate”不是一个二传手的“System.Windows.Controls.HeaderedContentControl.HeaderTemplate”属性的有效值。 – lloydsparkes

+1

这有一个如何使用两个模板属性的示例:http://msdn.microsoft.com/en-us/library/system.windows.controls.headeredcontentcontrol.headertemplate%28lightweight%29.aspx – RandomEngy

0

看起来你需要一个ContentPresenter来显示内容。并且您已经有了一个显示标题的ContentPresenter。

<ContentPresenter ContentSource="Content"/> 
+0

我看了这个之前,但它不能解决我的问题,因为它不会让我定义里面的控件 – lloydsparkes