TabItem.Header 在 IsSelected 时加粗 [英] TabItem.Header Bold When IsSelected

查看:21
本文介绍了TabItem.Header 在 IsSelected 时加粗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

想要所有默认样式,但在 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 是否被选中并设置 FontWeightBold 如果它的计算结果为真.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆