TabItem.Header 在 IsSelected 时加粗

编程入门 行业动态 更新时间:2024-10-25 22:32:16
本文介绍了TabItem.Header 在 IsSelected 时加粗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送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 是否被选中并设置 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屋!

更多推荐

[db:关键词]

本文发布于:2023-05-01 10:52:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1408812.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加粗   TabItem   Header   IsSelected

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!