Xamarin Forms应用程序被卡在SplashScreen上

时间:2019-07-02 19:48:14

标签: c# xamarin.forms visual-studio-2019

我有一个SplashScreen类,其中显示图像缩放,缩放完成后转到登录页面。我在多台设备上尝试了此操作,但只有一台设备在SplashScreen中没有变化。

我一直在研究如何处理异步方法并等待指令,但到目前为止似乎没有任何效果。我也尝试删除ScaleTo并仅显示图像,但是它不起作用。

这就是我所拥有的:

protected override async void OnAppearing()
{
     base.OnAppearing();
     await splashLogo.ScaleTo(1.5, 3000);
     ShowLogin();
}

1 个答案:

答案 0 :(得分:0)

我通过添加此类来解决此问题:

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;
    }
}

然后在我的SplashScreen页面中

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();
}