我想使用MVVM模式在Windows Phone 8 Silverlight中创建动画按钮。 这个控件应该像这样工作:Windows Phone MVVM动画按钮
点击时,如果它的值是正确的,它会触发旋转动画。当文字不可见(围绕Y轴旋转90度)时,我会将按钮上的文字更改为“Yes!”。然后它会旋转回正常状态。 如果值不正确,我会将背景改为红色,而不旋转。
在WPF我可以用DataTriggers,所以我想是这样的:
1)用户点击按钮 - >命令执行
2A)如果值是正确的,我在视图模型一定的价值变化,这触发DataTrigger,这将启动第一动画旋转按钮90度
3a)的动画的结束触发命令,该命令改变文本值
4a)的文本变化触发第二旋转中,在开始旋转按钮180度,然后进行正常的90度的旋转,所以它看起来像新的文本是对其他网站
2B)如果值不正确,我改变了一些值值触发错误的值动画
但在Windows手机Silverlight的有样式中没有触发器,所以最简单的方法就是使用代码隐藏,但我想在MVVM中实现。 也许有人遇到了类似的问题。 目前,我正在考虑使用从MVVM光工具包的消息,但我不知道,如果它会工作
编辑:
好,感谢穆罕默德赛义夫的提示,我设法使它工作。我使用button的命令将点击发送给虚拟机,接下来我使用MVVM light Toolkit发送消息来查看启动动画。不幸的是,MVVM light toolkit中的EventToCommand不能用于Storyboard,所以我只是在Completed事件ant后面的代码中执行VM命令,它会更改值并发送下一条消息。