如何保留我的自定义WPF RepeatButton的默认悬停效果

时间:2011-02-04 20:27:12

标签: wpf wpf-controls hover repeatbutton

当我创建自定义WPF控件时,我通常会保留常用的默认外观和效果。例如,这包括按钮上的默认蓝色悬停。

我创建了一个带有可滚动标签的自定义TabControl。无论出于何种原因,每一侧的RepeatButton(即左右滚动箭头)都没有悬停效果。我找到了几个教程,告诉我如何为控件创建自己的悬停效果,但不幸的是这些示例只是用不同的颜色替换背景(这看起来与动画在透明蓝色渐变同时保持底层背景非常不同)。我怎样才能获得这种悬停效果?有没有办法可以访问标准的悬停效果(可能是故事板?)?

编辑:我刚刚发现,如果我删除我在RepeatButton上放置的自定义Style,我会得到默认的悬停效果。也许问题是 - 我是如何破坏悬停效果的,如何在不破坏它的情况下温和地修改外观?下面是悬挂效果的风格 -

                        <Style x:Key="TabScrollerRepeatButtonStyle" TargetType="{x:Type RepeatButton}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>
                                    <Border x:Name="testTest" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Margin="1,0" CornerRadius="2">
                                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Content="{TemplateBinding ContentControl.Content}"/>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>

1 个答案:

答案 0 :(得分:2)

攻击这些问题的最佳方法是启动Expression Blend并为要从中复制样式的控件执行“编辑模板”。对滚动条执行此操作将准确显示默认样式的作用,然后您可以将相关位复制到自定义控件样式。