【问题标题】:FadeTo Animation in Xamarin Forms MacOS not workingXamarin Forms MacOS 中的 FadeTo 动画无法正常工作
【发布时间】:2021-01-21 15:34:33
【问题描述】:

我正在 Xamarin Forms MacOS 中创建自定义框架。框架本身看起来不错,但想法是在被选中时淡入。我创建了一个可以成功运行的可绑定属性,并且 TranslateBox 方法运行良好。

问题是await this.FadeTo(1, 1250, Easing.Linear);。没有动画发生,而是在 1250 秒后出现。

public class CustomFrame : Frame
{
    public bool IsExpanded
    {
        get { return (bool)GetValue(IsExpandedProperty); }
        set { SetValue(IsExpandedProperty, value); }
    }

    public static readonly BindableProperty IsExpandedProperty = BindableProperty.Create(
        nameof(IsExpanded),
        typeof(bool),
        typeof(CustomFrame),
        false,
        propertyChanged: IsExpandedChanged
    );

    private static void IsExpandedChanged(BindableObject bindable, object oldVal, object newVal)
    {
        var getInstance = (CustomFrame)bindable;
        getInstance.TranslateBox();
    }

    public void TranslateBox()
    {
        Device.BeginInvokeOnMainThread(async () =>
        {
            if (this.IsExpanded)
            {
                await this.FadeTo(1, 1250, Easing.Linear);
            }
            else
            {
                await this.FadeTo(0, 1250, Easing.Linear);
            }
        });
    }
 }

任何线索是什么导致了这个问题?这是一个已知的错误吗?如果是,是否有任何解决方法/黑客?

【问题讨论】:

    标签: c# macos xamarin xamarin.forms


    【解决方案1】:

    我在本地测试过,效果很好。

    使用两个按钮单击事件进行测试以更改 IsExpanded 属性。

    Xaml 代码:

    <local:CustomFrame x:Name="MyFrame" BackgroundColor="#2196F3">
       <Lable Text="Welcome to Xamarin.Forms!" FontSize=""36/>
    </local:CustomFrame>
    <Button Text="Animate" Clicked="Button_Clicked_1"/>
    <Button Text="AnimateBack" Clicked="Button_Clicked_2"/>
    

    Xaml.cs 代码:

    void Button_Clicked_1(System.Object sender, System.EventArgs e)
    {
        MyFrame.IsExpanded = true;
    }
    
    void Button_Clicked_2(System.Object sender, System.EventArgs e)
    {
        MyFrame.IsExpanded = false;
    }
    

    注意:Xamarin.Forms 的版本是4.8.0.1451,如果不是最新版本,您可以更新它以检查。

    【讨论】:

    • @DiddanDo 嗨,它也有动画。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 2011-06-29
    • 2021-06-11
    • 1970-01-01
    相关资源
    最近更新 更多