【问题标题】:Trigger in Template in WPF在 WPF 中的模板中触发
【发布时间】:2011-08-29 09:14:25
【问题描述】:

我正在为 TabControl 的 TabItem 创建一个模板。

所以,我还需要根据 TabItem.IsSelectedProperty 和 IsMouseOver 创建不同的背景..

所以,这是我的部分代码:

<Window.Resources>
    <Style TargetType="{x:Type TabItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabItem}">
                     <Border BorderBrush="Gray" BorderThickness="1" CornerRadius="6,6,0,0" Margin="-2,0,0,0" Cursor="Hand">
                         <Border.Style>
                             <Style>
                                 <Style.Triggers>
                                     <Trigger Property="TabItem.IsSelected" Value="False">
                                         <Setter Property="Border.Background" Value="ColorIneed"/>
                                     </Trigger>
                                     <Trigger Property="TabItem.IsSelected" Value="True">
                                         <Setter Property="Border.Background" Value="ColorIneed"/>
                                     </Trigger>
                                     <Trigger Property="Border.IsMouseOver" Value="True">
                                         <Setter Property="Border.Background" Value="ColorIneed"/>
                                     </Trigger>
                                 </Style.Triggers>
                             </Style>
                         </Border.Style>
                     </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

所以,就是这样,但它仅适用于 Border.IsMouseOver 事件...

【问题讨论】:

    标签: c# wpf templates triggers


    【解决方案1】:

    看看这篇文章。

    WPF TabItem Header Styling

    【讨论】:

    • 非常感谢!问题出在这里:在我为 IsSelected 属性创建触发器的地方,我应该做下一件事:
    猜你喜欢
    • 2015-08-17
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 2013-08-23
    相关资源
    最近更新 更多