按钮样式的XAML动画,以更改背景颜色

hwazgwia  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(128)

我有一个xaml风格改变背景悬停按钮,但我想做动画。我需要帮助这是我的代码。

<Style x:Key="MyButtonStyle2" TargetType="Button">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="Margin" Value="5"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border Name="border" 
                            BorderThickness="{TemplateBinding BorderThickness}"
                            Padding="{TemplateBinding Padding}" 
                            BorderBrush="{TemplateBinding BorderBrush}" 
                            Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                        </Border>

                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <!-- <Setter TargetName="border" Property="Background" Value="#FF292929" /> -->
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

字符串
我尝试了一些代码,我在网上看到,但它不工作,我得到了例外,如背景是画笔,你不能使用颜色动画。

o75abkj4

o75abkj41#

你试过VisualStateManager吗?您可以添加VisualStateManager作为ControlTemplate的第一个子级,然后添加带有DoubleAnimation(或其他类型的动画,如果需要)的情节串联板来设置背景的动画。或者,您可以在VisualState中使用Setter来即时更改背景,而无需动画,这取决于您要做什么!

相关问题