Grid.Row跟Column 的值都是int 类型,你用DoubleAnimation当然报错了。
用这个才对:Int32Animation。
要怎么改呢?
@刘宏玺: Int32Animation用法跟DoubleAnimation一样。
我看你写的代码还有不合理的地方: Animation是异步的,BeginAnimation后就会立即执行后面的代码。
要想动画完成后才执行后续代码应该用Completed事件
@德年: 还有,执行动画后,相应属性会被锁定,Grid.SetRow(btns[x1,y1],x1) 这样的代码是无效的。
要解除锁定用 btns[x1,y1].BeginAnimation(Grid.RowProperty,null);
@德年:
那这个问题要怎么解决呢?
@刘宏玺: Margin 的类型为Thickness, 用ThicknessAnimation
@德年: 谢谢,您的解答太好了