关于silverlight动画问题

lcp147572931 2010-07-20 12:35:43
下面这段代码 是写的让一张图片变大及还原的方法 用动画实现 用 bool largen 的值 来判断是鼠标移入放大 还是 鼠标离开 还原大小 但是问题是 都缺少一个 daX.From和 daY.From 所以每次都是从1.0放大到1.8 或者从1.8 还原到1.0 我想实现那种效果 比如 鼠标移上去 图片 放大到1.3倍的时候(没到1.8倍) 鼠标突然离开 能从1.3倍还原到1.0原始大小 同理 也可以从上一次动画缩放到 1.2倍时 鼠标 再次移入 From 1.2 To 1.8 其实 就是记住鼠标移入移出时 当前的图片大小倍数 请高手 帮忙解答下

private void ChangeScale(Image img, bool largen)
{
Storyboard sb = new Storyboard();
DoubleAnimation daX = new DoubleAnimation();
DoubleAnimation daY = new DoubleAnimation();
ScaleTransform DoTransformX = new ScaleTransform();
ScaleTransform DoTransformY = new ScaleTransform();
daX.Duration = new Duration(new TimeSpan(0, 0, 0, 4));
daY.Duration = new Duration(new TimeSpan(0, 0, 0, 4));
if (largen == true)
{
daX.To = daY.To = 1.8;
}
else
{
daX.To = daY.To = 1.0;
}
//temp = daX.To.Value;
Storyboard.SetTarget(daX, img);
Storyboard.SetTargetProperty(daX, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.ScaleX)"));
img.RenderTransform = DoTransformX;
Storyboard.SetTarget(daY, img);
Storyboard.SetTargetProperty(daY, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.ScaleY)"));
img.RenderTransform = DoTransformY;
sb.Children.Add(daX);
sb.Children.Add(daY);
sb.Begin();

}
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunpire 2010-07-29
  • 打赏
  • 举报
回复
LZ,你把用 Blend 生成的 Storyboard 的 XAML 移到 Resources 中,并起一个名字, 这样在代码中调出 Storyboard 后,
通过指定 Storyboard 中不同的 Storyboard.TargetName 不就可以实现用在多个不同的图片上的要求了么?
jv9 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lcp147572931 的回复:]
用Blend我已经实现这个功能了 但是不够灵活 如果多加几张图片的话 又要重新设置 所以我想用C#写代码 然后在别的地方调用就行了
[/Quote]

实现动态代码实现肯定会比Xaml繁琐,你说的Blend实现后不灵活是怎么确定的呢?添加图片,可以使用绑定,不一定每次都要重新设置的。
lcp147572931 2010-07-22
  • 打赏
  • 举报
回复
用Blend我已经实现这个功能了 但是不够灵活 如果多加几张图片的话 又要重新设置 所以我想用C#写代码 然后在别的地方调用就行了
cpt_adt2010 2010-07-22
  • 打赏
  • 举报
回复
貌似你想实现复杂动画,又不想用Blend,纯代码的资料很难找哦
lcp147572931 2010-07-22
  • 打赏
  • 举报
回复
自己顶上去
lcp147572931 2010-07-21
  • 打赏
  • 举报
回复
。。。。都没人解答
lcp147572931 2010-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sunpire 的回复:]

在Xaml中设置更方便吧,使用 Blend 应不难弄出来
[/Quote]
关键是我想后期 添加很多图片 就调用一个方法 灵活点
Sunpire 2010-07-20
  • 打赏
  • 举报
回复
在Xaml中设置更方便吧,使用 Blend 应不难弄出来
vivian_liu123 2010-07-20
  • 打赏
  • 举报
回复
关注!

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧