ObjectAnimationUsingKeyFrames的示例

< StackPanel >
            
< StackPanel.Resources >
                
< Storyboard x:Name = " storyboard " >
                    
< ObjectAnimationUsingKeyFrames Storyboard.TargetName = " rectangle "  Storyboard.TargetProperty = " Fill "  Duration = " 0:0:4 "  RepeatBehavior = " Forever " >
                        
< DiscreteObjectKeyFrame KeyTime = " 0:0:2 " >
                            
< DiscreteObjectKeyFrame.Value >
                                
< LinearGradientBrush >
                                    
< LinearGradientBrush.GradientStops >
                                        
< GradientStop Color = " Yellow "  Offset = " 0.0 " />
                                        
< GradientStop Color = " Orange "  Offset = " 0.5 " />
                                        
< GradientStop Color = " Red "  Offset = " 1.0 " />
                                    
</ LinearGradientBrush.GradientStops >
                                
</ LinearGradientBrush >
                            
</ DiscreteObjectKeyFrame.Value >
                        
</ DiscreteObjectKeyFrame >
                        
< DiscreteObjectKeyFrame KeyTime = " 0:0:3 " >
                            
< DiscreteObjectKeyFrame.Value >
                                
< RadialGradientBrush GradientOrigin = " 0.75,0.25 " >
                                    
< RadialGradientBrush.GradientStops >
                                        
< GradientStop Color = " White "  Offset = " 0.0 " />
                                        
< GradientStop Color = " MediumBlue "  Offset = " 0.5 " />
                                        
< GradientStop Color = " Black "  Offset = " 1.0 " />
                                    
</ RadialGradientBrush.GradientStops >
                                
</ RadialGradientBrush >
                            
</ DiscreteObjectKeyFrame.Value >
                        
</ DiscreteObjectKeyFrame >
                    
</ ObjectAnimationUsingKeyFrames >
                
</ Storyboard >
            
</ StackPanel.Resources >
            
< Rectangle x:Name = " rectangle "  Loaded = " Start_Animation "  Width = " 300 "  Height = " 200 " />
</ StackPanel >
 note:Only discrete interpolation (DiscreteObjectKeyFrame) is available for use with ObjectAnimationUsingKeyFrames which merely swaps objects according toa specified timeline. Other types of interpolation are too problematic to applyto objects
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 WPF 的 `Storyboard` 和 `ObjectAnimationUsingKeyFrames` 来实现图片动画的效果。具体步骤如下: 1. 在 XAML 中创建一个 `Image` 控件,并设置它的 `Source` 属性为要显示的第一张图片。 2. 创建一个 `Storyboard` 控件,并在其中添加多个 `ObjectAnimationUsingKeyFrames` 元素,每个元素都用来实现一张图片的显示和隐藏。 3. 在每个 `ObjectAnimationUsingKeyFrames` 元素中添加两个 `DiscreteObjectKeyFrame` 元素,一个用来设置 `Visibility` 属性为 `Visible`,另一个用来设置 `Visibility` 属性为 `Collapsed`。 4. 设置每个 `DiscreteObjectKeyFrame` 元素的 `KeyTime` 属性,以确定每个图片的显示时间和隐藏时间。 5. 在 `Storyboard` 的 `Completed` 事件中,将 `Image` 控件的 `Source` 属性设置为下一张图片的路径,并启动 `Storyboard`。 示例代码如下: ```xml <Image x:Name="myImage" Source="image1.jpg" /> <Storyboard x:Name="myStoryboard" Completed="myStoryboard_Completed"> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="myImage"> <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" /> <DiscreteObjectKeyFrame KeyTime="0:0:2" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="myImage"> <DiscreteObjectKeyFrame KeyTime="0:0:2" Value="{x:Static Visibility.Visible}" /> <DiscreteObjectKeyFrame KeyTime="0:0:4" Value="{x:Static Visibility.Collapsed}" /> </ObjectAnimationUsingKeyFrames> <!-- 其他图片的动画 --> </Storyboard> ``` 在代码中,`Storyboard` 中添加了两个 `ObjectAnimationUsingKeyFrames` 元素,分别用来显示和隐藏第一张图片和第二张图片。其中,`KeyTime` 属性为 `0:0:0` 的 `DiscreteObjectKeyFrame` 元素表示从 `Storyboard` 开始后立即显示图片,`KeyTime` 属性为 `0:0:2` 的 `DiscreteObjectKeyFrame` 元素表示显示两秒后隐藏图片。在 `Completed` 事件中,将 `myImage` 控件的 `Source` 属性设置为下一张图片的路径,并启动 `Storyboard`,即可实现图片的切换动画。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值