我希望用Exrin创建动画。我理解它的MVVM框架方面要求View拥有动画,但最初触发这些动画是我不确定的。
我知道附加到UI事件是一个热点按钮问题,因为命令和事件可能会一起存在。
Exrin是否有办法处理文档中没有触及的动画,我应该将动画附加到UI事件,还是应该使用像attached behaviors这样的外部动画?
答案 0 :(得分:1)
动画是Xamarin Forms的一部分,正如您所指出的那样,Exrin没有专门处理它们。
要触发动画,并保持与MVVM纯粹主义心态的内联,我会使用触发器。
例如,您只需要一个类
即可创建一个触发器public class BackgroundColorTrigger : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.BackgroundColor = Color.Yellow;
}
}
当然你可以从这里运行动画。然后在XAML中,你会做
// Add to Page Attributes (Above Trigger is in Namespace Mobile.Trigger)
xmlns:trigger="clr-namespace:Mobile.Trigger"
<Entry Text="{Binding EntryField}">
<Entry.Triggers>
<EventTrigger Event="Focused">
<trigger:BackgroundColorTrigger />
</EventTrigger>
</Entry.Triggers>
</Entry>
但是将触发器更改为您需要的内容。
动画是纯UI概念,因此保留在Exrin的View项目中。 XAML可以直接触发动画,逻辑可以放在触发器中。
来源:https://xamarinhelp.com/xamarin-forms-triggers-behaviors-effects/
动画:https://xamarinhelp.com/custom-animations-in-xamarin-forms/