【问题标题】:Changing opacity WPF Button property using Animation使用动画更改不透明度 WPF 按钮属性
【发布时间】:2015-06-26 01:10:07
【问题描述】:

我创建了一个带有投影效果的按钮。现在我想通过在运行时更改 opacity 属性来为此效果添加动画。但是这段代码不起作用:

<Button x:Name="btnRun" Content="Run" Click="btn_RunEventHandler" BorderThickness="1"  >
                        <Button.Effect>
                            <DropShadowEffect Color="Red"  ShadowDepth="0" BlurRadius="21"  />
                        </Button.Effect>
                        <Button.Triggers>
                            <EventTrigger RoutedEvent="Button.MouseEnter">
                                <EventTrigger.Actions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames
                                                Storyboard.TargetProperty="(DropShadowEffect.Opacity)"
                                                Duration="0:0:1.6"
                                                RepeatBehavior="Forever">
                                                <LinearDoubleKeyFrame KeyTime="0:0:0" Value="1"/>                                                    
                                                <LinearDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:0.55" Value="0"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:0.6" Value="1"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:0.7" Value="1"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:0.8" Value="0.6"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                                                <LinearDoubleKeyFrame KeyTime="0:0:1.6" Value="1"/>
                                            </DoubleAnimationUsingKeyFrames>                                                
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger.Actions>
                            </EventTrigger>
                        </Button.Triggers>
                    </Button>

【问题讨论】:

    标签: .net wpf xaml storyboard dropshadow


    【解决方案1】:

    给你的DropShadow一些名字

    <DropShadowEffect Color="Red" x:Name="dropShadow" ShadowDepth="0" BlurRadius="21"  />
    

    并对OpacityTargetName 进行动画处理

    <DoubleAnimationUsingKeyFrames
        Storyboard.TargetName="dropShadow"
        Storyboard.TargetProperty="Opacity"
        .../>
    

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 2019-07-08
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 2014-01-05
      相关资源
      最近更新 更多