WPF 模板中的触发器

发布于 2024-11-08 13:50:25 字数 1792 浏览 0 评论 0原文

我正在为 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 事件...

I'm creating a Template for TabItem of TabControl.

So, I need to create Different background dependent on TabItem.IsSelectedProperty and IsMouseOver as well..

So, here is my part of code:

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

So, here it is, but it works only on Border.IsMouseOver event...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

为你拒绝所有暧昧 2024-11-15 13:50:25

看看这篇文章吧。

WPF TabItem 标题样式

just have a look at this post.

WPF TabItem Header Styling

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文