【问题标题】:How to apply a Style resource to the Header of a TabItem only如何仅将样式资源应用于 TabItem 的标题
【发布时间】:2013-12-06 16:24:22
【问题描述】:

在 TabControl 中,我使用以下样式:

<TabControl.Resources>
    <Style TargetType="{x:Type TabItem}">
        <Style.Triggers>
            <Trigger Property="IsSelected"
                        Value="True">
                <Setter Property="FontWeight"
                        Value="Bold" />
            </Trigger>
        </Style.Triggers>
    </Style>
</TabControl.Resources>

不知道是否可以轻松实现将FontWeight只应用于TabItem的头部而不为TabItem定义新的(Control)Template?

【问题讨论】:

    标签: wpf styles


    【解决方案1】:

    通过其他帖子找到它:

    <Style x:Key="ActiveTab" TargetType="{x:Type TabItem}">
        <Style.Resources>
            <DataTemplate x:Key="header">
                <TextBlock Text="{Binding}" FontWeight="Bold" />
            </DataTemplate>
        </Style.Resources>
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="HeaderTemplate"
                        Value="{StaticResource header}" />
            </Trigger>
        </Style.Triggers>
    </Style>
    

    【讨论】:

    • 我也有同样的问题。 stackoverflow.com/questions/20335087/…
    • 这个解决方案不是比你的更清晰/实用吗?
    • 是和不是。如果我在标题中放置一个文本块,那么你的会失败。
    • 我明白了,虽然 Header 已经有一个文本块,所以不需要用你自己的实例替换它吗?
    • 尝试在没有文本块的情况下换行
    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多