.net TabItem.IsSelected时标题粗体
选择TabItem时,需要所有默认样式,但标题FontWeight粗体除外.net TabItem.IsSelected时标题粗体,.net,wpf,tabs,tabitem,.net,Wpf,Tabs,Tabitem,选择TabItem时,需要所有默认样式,但标题FontWeight粗体除外 未选择TabItem时FontWeight正常 <TabItem.Header> <TextBlock>Header Text</TextBlock> </TabItem.Header> 标题文本 已找到一些示例,但无法执行任何操作在文本块上应用DataTrigger,以查看是否选择了父项TabItem,并将fontwweight设置为Bold,如果计算结果为
未选择TabItem时FontWeight正常
<TabItem.Header>
<TextBlock>Header Text</TextBlock>
</TabItem.Header>
标题文本
已找到一些示例,但无法执行任何操作在文本块上应用
DataTrigger
,以查看是否选择了父项TabItem
,并将fontwweight
设置为Bold
,如果计算结果为真
您也可以在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>
您可以将其设置为样式,以便在其他选项卡项中继续使用-
<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>
在文本块上应用
DataTrigger
,查看是否选择了父项TabItem
,如果计算结果为真,则将fontwweight
设置为Bold
您也可以在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>
您可以将其设置为样式,以便在其他选项卡项中继续使用-
<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>
我混合使用了一些答案,这非常适合我:
<Style TargetType="TabItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
我混合使用了一些答案,这非常适合我:
<Style TargetType="TabItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
圣地亚哥的答案非常接近我的需要。我仍然需要弄清楚如何连接到TabControl。以下是我的结论:
<TabControl>
<TabControl.Resources>
<Style TargetType="TabItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</TabControl.Resources>
<!--TabItems here-->
</TabControl>
圣地亚哥的答案非常接近我的需要。我仍然需要弄清楚如何连接到TabControl。以下是我的结论:
<TabControl>
<TabControl.Resources>
<Style TargetType="TabItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock FontWeight="Bold" Text="{Binding}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</TabControl.Resources>
<!--TabItems here-->
</TabControl>
此解决方案优于@RohitVats的解决方案,因为它的可重用性要高得多,而且您只能在样式中定义一次,而不是在每个项目的基础上定义一次。谢谢,这会加粗标题,但也会加粗内容。我只想加粗标题。尚未测试Rohit Vatso'k的答案没有想到这一点,我将稍后对答案进行修改。请看最后一个答案。此解决方案优于@RohitVats'解决方案,因为它更易于重用,并且您只在样式中定义一次,而不是在每个项目的基础上。谢谢,这会加粗标题,但也会加粗内容。我只想加粗标题。还没有测试Rohit Vatso'k的答案没有想到这一点,我会在稍后修改答案。看看最后一个答案。我可以在选项卡上应用一次,而不必为每个选项卡项设置它吗?是的,在资源部分中定义它,并对所有选项卡项重复使用它。我已经更新了答案,请检查.Works。我可以在选项卡上应用一次,而不必为每个选项卡项设置它吗?是的,在资源部分中定义它,并对所有选项卡项重复使用它。我已经更新了答案,请检查。