我有一个类SplashScreen,我在其中显示图像缩放,并完成缩放后,它将转到登录页面。我在多个设备上尝试了此操作,只有在一个设备中,它不会从飞溅屏幕上改变。
我一直在研究如何处理异步方法和等待说明,但到目前为止似乎没有任何作用。另外,我尝试删除Scaleto并显示图像,但它不起作用。
这就是我所拥有的:
protected override async void OnAppearing()
{
base.OnAppearing();
await splashLogo.ScaleTo(1.5, 3000);
ShowLogin();
}
我通过添加此类解决了这个问题:
class MainPageViewModel : BaseViewModel
{
private bool isLoadingData;
public bool IsLoadingData
{
get => isLoadingData;
set => SetProperty(ref isLoadingData, value);
}
public async Task LoadData()
{
IsLoadingData = true;
await Task.Delay(2000);
IsLoadingData = false;
}
}
然后在我的飞溅页面中:
public SplashScreen()
{
//Everything else I need in this page
BindingContext = new MainPageViewModel();
}
private MainPageViewModel ViewModel => BindingContext as MainPageViewModel;
protected override async void OnAppearing()
{
base.OnAppearing();
await ViewModel.LoadData();
ShowLogin();
}