zoukankan      html  css  js  c++  java
  • 如何对Visibility属性进行动画(XMAL /CS)

    更新:2007 年 11 月

    对指定 Duration 内的一组 KeyFrames 中的 Object 属性值进行动画处理。

    命名空间:  System.Windows.Media.Animation
    程序集:  PresentationCore (在 PresentationCore.dll 中)
    用于 XAML 的 XMLNS: http://schemas.microsoft.com/winfx/xaml/presentation

    参考:

    http://social.msdn.microsoft.com/Forums/zh-HK/wpf/thread/7d856f82-d112-4a1c-a457-1aeb1abe861b

    http://technet.microsoft.com/zh-cn/office/system.windows.uielement.visibility%28it-it,VS.95%29.aspx

    XAML实现:

    1. <Border Height="100" Width="80" CornerRadius="11,11,11,11" Margin="5" BorderThickness="2" Background="Brown" IsEnabled="False" Name="Bord11">  
    2.     <Border.Triggers>  
    3.         <EventTrigger RoutedEvent="Border.Loaded" >  
    4.             <EventTrigger.Actions>  
    5.                 <BeginStoryboard>  
    6.                     <Storyboard>  
    7.                         <ObjectAnimationUsingKeyFrames  Storyboard.TargetProperty="Visibility" Duration="0:0:4">  
    8.                             <ObjectAnimationUsingKeyFrames.KeyFrames>  
    9.                                 <DiscreteObjectKeyFrame KeyTime="0:0:1" >  
    10.                                     <DiscreteObjectKeyFrame.Value>  
    11.                                         <Visibility>Visible</Visibility>  
    12.                                     </DiscreteObjectKeyFrame.Value>  
    13.                                 </DiscreteObjectKeyFrame>                                                  
    14.                                 <DiscreteObjectKeyFrame KeyTime="0:0:2" >  
    15.                                     <DiscreteObjectKeyFrame.Value>  
    16.                                         <Visibility>Hidden</Visibility>  
    17.                                     </DiscreteObjectKeyFrame.Value>  
    18.                                 </DiscreteObjectKeyFrame>                                                  
    19.                                 <DiscreteObjectKeyFrame KeyTime="0:0:3" >  
    20.                                     <DiscreteObjectKeyFrame.Value>  
    21.                                         <Visibility>Collapsed</Visibility>  
    22.                                     </DiscreteObjectKeyFrame.Value>  
    23.                                 </DiscreteObjectKeyFrame>  
    24.                                   
    25.                             </ObjectAnimationUsingKeyFrames.KeyFrames>  
    26.                         </ObjectAnimationUsingKeyFrames>  
    27.                     </Storyboard>  
    28.                 </BeginStoryboard>  
    29.             </EventTrigger.Actions>  
    30.         </EventTrigger>  
    31.     </Border.Triggers>  
    32.     <Label Height="39" Name="label1" Width="62">ABCDEFGH</Label>  
    33. </Border>  

    后台实现:

    1. ObjectAnimationUsingKeyFrames animate = new ObjectAnimationUsingKeyFrames();  
    2. animate.Duration = new TimeSpan(0,0,4);  
    3. animate.RepeatBehavior = RepeatBehavior.Forever;  
    4. DiscreteObjectKeyFrame kf1 = new DiscreteObjectKeyFrame(Visibility.Visible, new TimeSpan(0, 0, 1));  
    5. DiscreteObjectKeyFrame kf2 = new DiscreteObjectKeyFrame(Visibility.Hidden, new TimeSpan(0, 0, 2));  
    6. DiscreteObjectKeyFrame kf3 = new DiscreteObjectKeyFrame(Visibility.Collapsed, new TimeSpan(0, 0,3));  
    7. animate.KeyFrames.Add(kf1);  
    8. animate.KeyFrames.Add(kf2);  
    9. animate.KeyFrames.Add(kf3);  
    10. Bord11.BeginAnimation(Border.VisibilityProperty, animate);  

  • 相关阅读:
    一些你可能用到的代码
    iOS 键盘下去的方法
    iOS设计模式汇总
    随笔
    Spring cloud config 分布式配置中心 (三) 总结
    Spring cloud config 分布式配置中心(二) 客户端
    Spring cloud config 分布式配置中心(一) 服务端
    jdbcUrl is required with driverClassName spring boot 2.0版本
    JpaRepository接口找不到 spring boot 项目
    解决IntelliJ “Initialization failed for 'https://start.spring.io'
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3404586.html
Copyright © 2011-2022 走看看