问题描述
限时送ChatGPT账号..想要所有默认样式,但在 TabItem IsSelected 时 Header FontWeight Bold
未选择 TabItem 时的 FontWeight 正常
Want all the default styling but the Header FontWeight Bold when the TabItem IsSelected
FontWeight Normal when the TabItem is not selected
<TabItem.Header>
<TextBlock>Header Text</TextBlock>
</TabItem.Header>
找到了一些例子,但不能做任何工作
Have found some examples but cannot make any work
推荐答案
在 TextBlock 上应用 DataTrigger
以查看父 TabItem
是否被选中并设置 FontWeight
到 Bold
如果它的计算结果为真.
Apply DataTrigger
on TextBlock to see if parent TabItem
is selected and set FontWeight
to Bold
if it evaluates out to be true.
您也可以在 TabItem
上使用该样式,但既然您提到了 TextBlock
,我假设您正在为 Header 使用 TextBlock 进行更多样式设置.
Also you can have that style on TabItem
as well but since you mentioned TextBlock
in question i am assuming you are doing more styling with TextBlock in there for Header.
<TabItem.Header>
<TextBlock Text="Header Text">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected,
RelativeSource={RelativeSource AncestorType=TabItem}}"
Value="True">
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</TabItem.Header>
<小时>
您可以将其放在样式中以将其重用于其他 tabItems -
You can put that in style to resuse it for other tabItems -
<TabControl>
<TabControl.Resources>
<Style TargetType="TextBlock" x:Key="HeaderTextBlockStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected,
RelativeSource={RelativeSource AncestorType=TabItem}}"
Value="True">
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.Resources>
<TabItem>
<TabItem.Header>
<TextBlock Text="Header Text"
Style="{StaticResource HeaderTextBlockStyle}"/>
</TabItem.Header>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="Another Header Text"
Style="{StaticResource HeaderTextBlockStyle}"/>
</TabItem.Header>
</TabItem>
</TabControl>
这篇关于TabItem.Header 在 IsSelected 时加粗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论