C# Xamarin表单中的FadeTo动画MacOS不工作
我正在Xamarin Forms MacOS中创建一个自定义框架。框架本身看起来不错,但是当它被选中时,它的想法是淡入淡出。我已经创建了一个bindableproperty,它可以成功地运行,C# Xamarin表单中的FadeTo动画MacOS不工作,c#,macos,xamarin,xamarin.forms,C#,Macos,Xamarin,Xamarin.forms,我正在Xamarin Forms MacOS中创建一个自定义框架。框架本身看起来不错,但是当它被选中时,它的想法是淡入淡出。我已经创建了一个bindableproperty,它可以成功地运行,TranslateBox方法运行得很好 问题是等待这个。FadeTo(11250,Easing.Linear)。没有动画发生,而是在1250秒后显示 public class CustomFrame : Frame { public bool IsExpanded { get
TranslateBox
方法运行得很好
问题是等待这个。FadeTo(11250,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);
}
});
}
}
有什么线索导致这个问题吗?这是一个已知的bug吗?如果是的话,还有什么解决方法吗?我在本地网站上测试过,效果很好
使用单击两个按钮的事件进行测试,以更改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"/>
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 Hi,它还具有动画。