【问题标题】:WPF Set controltemplate for only first levelWPF仅为第一级设置控件模板
【发布时间】:2012-10-26 17:05:54
【问题描述】:

我有一个 tabcontrol 的样式:

<Style TargetType="{x:Type TabControl}" x:Key="CloseableTabControl">
    <Style.Resources>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">

这对包含在 tabcontrol 中的所有 tabitem 都有效,包括子 tabcontrol 的 item。

我希望只有第一级的 tabitems 应用了这种风格。 我怎样才能做到这一点?

【问题讨论】:

    标签: wpf tabcontrol controltemplate


    【解决方案1】:

    由于您尚未为 TabItem 样式设置值 x:Key,因此它将应用于可视树中找到的所有 TabItem。如果您希望样式仅应用于特定的 TabItem,您需要设置 x:Key 值 -

    <Style TargetType="{x:Type TabItem}"
           x:Key="TabItemStyle">
    

    无论你想在哪里应用样式,你都必须使用StaticResource-

    <TabItem Style="{StaticResource TabItemStyle}"/>
    

    【讨论】:

      猜你喜欢
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      相关资源
      最近更新 更多