xamarin - Exrin动画

标签 xamarin mvvm xamarin.forms exrin

我正在寻找使用Exrin制作动画的方法。我了解MVVM框架方面要求View拥有动画,但是我不确定最初是否触发这些动画。

我确实知道,附加到UI事件是一个热键问题,因为命令和事件可能同时存在。

Exrin是否有处理文档中未涉及的动画的方法,我应该将动画附加到UI Events,还是应该使用attached behaviors这样的外部对象?

最佳答案

如您所述,动画是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/

关于xamarin - Exrin动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45491631/

相关文章:

c# - 如何从我的 iOS 依赖项服务 [Xamarin.Forms.iOS] 中的 Task<string> 返回值?

c# - Xamarin.Forms.Xaml.XamlParseException : Cannot assign property "IsVisable" : Property does not exists

wpf - MVVM:处理集合中模型的逻辑子对象

c# - 如何为 Xamarin.forms 实现 Lottie?

ios - 如何在ios 7.0模拟器上安装IPA

xamarin.ios - UIActivityIndi​​catorView.StartAnimating 重写 UIActivityIndi​​catorView.Hidden 绑定(bind)

c# - 在按钮上打开一个新窗口单击 WPF MVVM

c# - EF4.0 中的延迟加载正在卡住 UI

android - 如何在 Visual Studio 2017 中禁用 "Use Mono Shared Runtime"

ListView 分隔符插入全宽