0

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

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

编辑:我刚刚发现,如果我删除了我放在重复按钮上的自定义样式,我会得到默认的悬停效果。也许问题是——我是如何破坏悬停效果的,我如何温和地修改外观而不破坏它?下面是破坏悬停效果的样式-

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

1 回答 1

2

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

于 2011-02-04T20:43:27.823 回答