在TabControl中调整TabItem标头的大小

10

我正在使用 MahAppsTabControl,并且有多个 TabItems

<TabControl Name="tabControl" FontSize="12">
    <TabItem Header="Statistics" />
</TabControl>

我试图改变TabControlTabItemsfont大小,以调整我的标题大小,但似乎没有任何变化。
6个回答

25

您应该使用附加属性HeaderFontSize来设置标签项的标题字体大小。

<TabControl Name="tabControl">
  <TabItem Header="Statistics" Controls:ControlsHelper.HeaderFontSize="12" />
</TabControl>
或者
<TabControl Name="tabControl">
  <TabControl.Resources>
    <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
      <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="12" />
    </Style>
  </TabControl.Resources>
  <TabItem Header="Statistics" />
</TabControl>
希望这有所帮助。

似乎这个属性不再存在。 - JobaDiniz
2
@JobaDiniz 它仍然在 ControlsHelper 类中可用。 - punker76
1
是的... V2013 xaml 设计器 不好用,不是我的 =D。它在代码补全中没有显示出来。 - JobaDiniz
运行得非常好。+ 可能需要使用 Vertical Alignment="Center"。 - Thiha

6

在 MahApps.Metro 的 2.* 版本中,它改为:

<TabControl Name="tabControl">
  <TabItem Header="Statistics" Controls:HeaderedControlHelper.HeaderFontSize="12" />
</TabControl>

或者

<TabControl Name="tabControl">
  <TabControl.Resources>
    <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
      <Setter Property="Controls:HeaderedControlHelper.HeaderFontSize" Value="12" />
    </Style>
  </TabControl.Resources>
  <TabItem Header="Statistics" />
</TabControl>

来源:https://github.com/MahApps/MahApps.Metro/issues/3711

撰写时,文档不可用。


3
将下面的代码放在Window.Resources中。
    <Window
    ......
    xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
    ......
    >

<Window.Resources>
        <Style x:Key="MenuLevel2" BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type TabItem}">
            <Setter Property="mah:ControlsHelper.HeaderFontSize" Value="15"></Setter>
        </Style>
<Window.Resources>

在TabItem部分添加样式细节。
<TabItem Header="Dimension Alias" Style="{DynamicResource MenuLevel2}">

这对我很有帮助。

2

由于tabItems是一个具有一些共同绑定的项目列表,修改其中一个Tabitem标题的高度将自动应用于其他项目。

<TabControl>
  <TabItem >
     <TabItem.Header>
          <Label Height="30" Content="Main" FontSize="16" >   
          </Label>
     </TabItem.Header>
  </TabItem>
  <TabItem  Header="Second header" >
  <TabItem  Header="Third header" >

</TabControl>

1
在我的情况下,这解决了我的问题:

<TabControl>
    <TabControl.Resources>
        <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
            <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="12" />
        </Style>
    </TabControl.Resources>
</TabControl>

1
自2.0版本起,我们需要在App.xaml或控件的资源中使用此代码:
<System:Double x:Key="MahApps.Font.Size.TabItem">16.67</System:Double>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接