2013-05-17 17 views
3

我是新來WPF的東西,我試着自己restyling一個TabItem。使標籤頁標題對WPF上的標題文本更靈活

enter image description here

正如你的人可以看到選項卡填充窗口的整個寬度。不像我實際想要使標籤寬度的原始目的是基於它內部的文本。像原始風格一樣,只重新設計。

我的代碼風格:

<Style x:Key="ZoidTab" TargetType="{x:Type TabItem}" > 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate x:Name="ZoidTemplate" TargetType="{x:Type TabItem}"> 
       <Border Width="Auto" Height="Auto"> 
       <Grid x:Name="grid"> 
        <Polygon 
         Fill="Turquoise" 
         Points="0,1 0.05,0 0.95,0 1,1" 
         Stretch="Fill" 
         Margin="0,0,0,0" 
        /> 
        <ContentPresenter x:Name="tabContent" HorizontalAlignment="Center" ContentSource="Header" VerticalAlignment="Center" TextElement.Foreground="#FFFFFFFF"/> 
       </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="FontSize" Value="12pt"/> 
</Style> 

我想知道它是什麼,我必須修復,以獲得正確的寬度......謝謝。

回答

2

問題是您的Grid沒有ColumnDefinitions部分來限制該列的大小。修改它看起來像這樣:

<Grid x:Name="grid"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 
    ...