Exrin的动画

时间:2017-08-03 18:09:26

标签: xamarin mvvm xamarin.forms exrin

我希望用Exrin创建动画。我理解它的MVVM框架方面要求View拥有动画,但最初触发这些动画是我不确定的。

我知道附加到UI事件是一个热点按钮问题,因为命令和事件可能会一起存在。

Exrin是否有办法处理文档中没有触及的动画,我应该将动画附加到UI事件,还是应该使用像attached behaviors这样的外部动画?

1 个答案:

答案 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/