我很难找到动画我的UI动画的正确方法。我知道如何做这两件事,但我提出的所有解决方案都意味着很多(丑陋的)代码,并且必须有更好的方法。
动画某个值的正确或最“最干净”的方法是什么,它会绑定到属性。我的模型上有Color -property,它定义了元素的背景颜色。当颜色发生变化时,我希望它变得光滑而不是突然变色。这可以在xaml中完成,这样模型就不必知道了吗?
交叉渐变怎么样?目前我通过将两个控件放在彼此的顶部(在网格中)来实现这一点。当我开始改变时,我 1.将element1的可见性设置为可见 2.开始动画,将element1的不透明度从0更改为1 3.开始动画,将element2的不透明度从1更改为0 4.动画完成后,将element2的可见性设置为折叠(以便它不会捕获所有鼠标事件)
哦,(MVVM)应用程序是用C#和XAML编写的,使用WinRT-api
答案 0 :(得分:0)
我意识到这已经很晚了,但对于那些将来会看到这一点的人来说:
您应该查看VisualStates和VisualTransitions。它们允许您确定要显示的状态(例如0或1的不透明度),以及从一个状态转换到下一个状态时调用的动画。这很简单,几乎只能在XAML中完成(除了调用GoToState
)。您可能希望查看一些扩展,因为它们提供了诸如行为之类的内容,允许您触发数据更改等内容的状态。
有一个基本的VisualState / VisualTransision here指南。