创建自定义WPF控件时,通常会保留通常的默认外观和效果。例如,这包括默认的蓝色悬停在按钮上。
我已经创建了一个带有可滚动标签的自定义TabControl。无论出于什么原因,每一侧的RepeatButton (即左右滚动箭头)都没有悬停效果。我找到了几个教程,告诉我如何为控件创建自己的悬停效果,但不幸的是,这些示例只是用不同的颜色替换了背景(这看起来与在保持底层背景的同时淡入透明蓝色的动画非常不同)。怎样才能获得这种悬停效果?有没有什么方法可以访问标准的悬停效果(可能是故事板?)?
编辑:我刚刚发现,如果删除放在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>发布于 2011-02-05 04:43:28
解决此类问题的最好方法是启动Expression Blend,并为要从中复制样式的控件执行“编辑模板”。对滚动条执行此操作将确切地显示默认样式的作用,然后您可以将相关部分复制到自定义控件样式中。
https://stackoverflow.com/questions/4902579
复制相似问题