问题是,当我按代码中所示进行操作时,我无法在不损失字体大小的情况下更改每个标题中的文本。
我正在使用dragablz库中的许多选项卡,并且我需要为标题定义默认样式,以定义字体大小和其他属性。
<Grid Margin="0,0,2,0">
<dragablz:TabablzControl Margin="8" TabStripPlacement="Left">
<dragablz:TabablzControl.ItemContainerStyle>
<Style TargetType="{x:Type dragablz:DragablzItem}" BasedOn="{StaticResource MaterialDesignDragableTabItemVerticalStyle}">
<Setter Property="Width" Value="100" />
<Setter Property="Height" Value="40" />
</Style>
</dragablz:TabablzControl.ItemContainerStyle>
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="Header">
<Setter.Value>
<TextBox FontSize="30">Hello</TextBox>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem>
<TabItem.Header>
<TextBlock Text="Tab No. 2" FontSize="20" Foreground="Black"></TextBlock>
</TabItem.Header>
<TextBlock>Hello World</TextBlock>
</TabItem>
<TabItem>
<TextBlock FontSize="24">We Have Tearable Tabs!</TextBlock>
</TabItem>
</dragablz:TabablzControl>
</Grid>
答案 0 :(得分:0)
您可以使用Header
来代替设置HeaderTemplate
属性。如果页眉是简单文本,它将获得所需的FontSize和Foreground。但它也可以完全替换为一些复杂的内容
<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter TextElement.FontSize="30"
TextElement.Foreground="Blue"
Content="{Binding Path=Header, RelativeSource={RelativeSource AncestorType=TabItem}}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<TabItem>
<TabItem.Header>
<TextBlock Text="Tab No. 2" FontSize="20" Foreground="Black"></TextBlock>
</TabItem.Header>
<TextBlock>Hello World</TextBlock>
</TabItem>
<TabItem Header="Tab No. 2">
<TextBlock FontSize="24">We Have Tearable Tabs!</TextBlock>
</TabItem>