WPF Storyboard的属性锁定问题
来源:互联网 发布:淘宝怎么投诉天猫超市 编辑:程序博客网 时间:2024/04/30 05:49
比如一个简单DoubleAnimation动画:
Completed事件:
透明度为0的动画结束后,在Completed事件中再设为1,程序运行后无效果。
解决方法:
把
再在结束事件中加上:
就没问题了,因为当一个属性作为Animation时,相应属性就会被锁住,需要用Remove释放掉。而如果想控制StoryBoard,则必须在Begin()时加true参数。
需要注意两点:1.在Remove的同时,已有的Animaition效果会消失掉,而不是停在动画目标值。
2.这个方法只能用于StoryBoard,如果只写DoubleAnimaition就无法解除锁定。
myDA = new DoubleAnimation();
myDA.From = this.myObject.Opacity;
myDA.To = 0.1;
myDA.Duration = new Duration(TimeSpan.FromMilliseconds(600));
Storyboard.SetTargetName(myDA, "myObject");
Storyboard.SetTargetProperty(myDA, new PropertyPath(Canvas.OpacityProperty));
mySB = new Storyboard();
mySB.Children.Add(myDA);
mySB.Completed += new EventHandler(mySB_Completed);
mySB.Begin(myObject);
myDA.From = this.myObject.Opacity;
myDA.To = 0.1;
myDA.Duration = new Duration(TimeSpan.FromMilliseconds(600));
Storyboard.SetTargetName(myDA, "myObject");
Storyboard.SetTargetProperty(myDA, new PropertyPath(Canvas.OpacityProperty));
mySB = new Storyboard();
mySB.Children.Add(myDA);
mySB.Completed += new EventHandler(mySB_Completed);
mySB.Begin(myObject);
Completed事件:
void mySB_Completed(object sender, EventArgs e)
{
myObject.Opacity = 1;
}
{
myObject.Opacity = 1;
}
透明度为0的动画结束后,在Completed事件中再设为1,程序运行后无效果。
解决方法:
把
mySB.Begin(myObject);
改成mySB.Begin(myObject,true);
再在结束事件中加上:
mySB.Remove(myObject);
myObject.Opacity = 1;
myObject.Opacity = 1;
就没问题了,因为当一个属性作为Animation时,相应属性就会被锁住,需要用Remove释放掉。而如果想控制StoryBoard,则必须在Begin()时加true参数。
需要注意两点:1.在Remove的同时,已有的Animaition效果会消失掉,而不是停在动画目标值。
2.这个方法只能用于StoryBoard,如果只写DoubleAnimaition就无法解除锁定。
- WPF Storyboard的属性锁定问题
- WPF Storyboard的属性锁定问题
- wpf的storyboard
- storyboard的调整属性
- WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性
- (WPF)Storyboard
- storyboard的问题
- 关于storyBoard的问题
- sqlite 锁定的问题
- WPF的Attached属性
- WPF--窗口的属性
- WPF DataGrid中列的属性绑定问题
- WPF Storyboard动画停止
- storyboard 拖 UITableviewCell的问题
- storyBoard一起开发的问题
- storyboard约束的优先级问题
- 使用 Storyboard 用到的问题
- 使用 Storyboard 用到的问题
- poj2478解题报告——欧拉函数,筛法
- Oracle笔记-Multitable INSERT 的用法
- C# 事件和Unity3D
- 编程实现文件复制和重命名
- 简表JOR
- WPF Storyboard的属性锁定问题
- 如何快速把阿里巴巴地图嵌入到自己的网站中
- C#:winform DataGridview 自动调整列宽
- 龙年贺词成语-龙字成语
- PC替代Server,隐患?还是实惠?
- 2011年专利统计:IBM 6180,苹果 676,Google无缘前50
- vmware 报错
- 扫描线
- Could not open Hibernate Session for transaction