• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
挂在墙上的天堂
属于我的蓝白黑
博客园    首页    新随笔    联系   管理    订阅  订阅

wpf中后台代码动态控制Storyboard(一)

做一个wpf的电子地图,在图上有闪烁的红点表示特定区域,实验代码如下:

xaml代码:

        <Storyboard x:Key="Storyboard1" RepeatBehavior="Forever" AutoReverse="True">
            
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
                
<SplineDoubleKeyFrame KeyTime="00:00:01" Value="2"/>
            
</DoubleAnimationUsingKeyFrames>
            
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
                
<SplineDoubleKeyFrame KeyTime="00:00:01" Value="2"/>
            
</DoubleAnimationUsingKeyFrames>
        
</Storyboard>

 后台控制代码如下:

            my_sb = (Storyboard)this.FindResource("Storyboard1");
            my_sb.Begin(
this);

这个Storyboard的RepeatBehavior="Forever"

现在想做一个控制,让Storyboard可以恢复原状:

首先使用如下代码:

            my_sb = (Storyboard)this.FindResource("Storyboard1");
            my_sb.Stop(
this);

 接下来要做一个按钮,能暂停和继续Storyboard,代码如下:

 

            my_sb = (Storyboard)this.FindResource("Storyboard1");
            
bool state = my_sb.GetIsPaused(this);
            
if (!state)
            {
                my_sb.Pause(
this);
            }
            
if(state)
                my_sb.Resume(
this);

 上述代码中my_sb.GetIsPaused(this)判断storyboard当前是不是暂停状态

接下来还要做一个按钮,能停止和启动Storyboard,但是Storyboard没有函数判断Storyboard是否运行状态。应该还要利用clock状态

明天继续做实验。

 

 

posted @ 2008-08-31 22:26  卢巍  阅读(13404)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3