pap*_*zzo 1 .net wpf tabs tabitem
想要所有默认样式,但当选择 TabItem 时标题 FontWeight 为粗体
FontWeight 未选择 TabItem 时为正常
<TabItem.Header>
<TextBlock>Header Text</TextBlock>
</TabItem.Header>
Run Code Online (Sandbox Code Playgroud)
找到了一些例子,但无法进行任何工作
应用于DataTriggerTextBlock 以查看是否TabItem选择了父级并将其设置FontWeight为Bold计算结果是否为 true。
您也可以使用该样式TabItem,但既然您提到了TextBlock问题,我假设您正在使用 TextBlock 为标题做更多样式设置。
<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>
Run Code Online (Sandbox Code Playgroud)
您可以将其放入样式中以将其重新用于其他 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>
Run Code Online (Sandbox Code Playgroud)
<XXX.Resources>
<Style TargetType="TabItem" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
</XXX.Resources>
<Grid>
<TabControl>
<TabItem Header="Item 1" />
<TabItem Header="Item 2" />
</TabControl>
</Grid>
Run Code Online (Sandbox Code Playgroud)