Xamarin Forms 应用卡在 SplashScreen 上
Xamarin Forms app getting stuck on SplashScreen
我有一个 class SplashScreen,我在其中显示图像缩放,缩放完成后会转到登录页面。我在多台设备上试过,只有一台设备的启动画面没有变化。
我一直在研究如何处理异步方法和等待指令,但到目前为止似乎没有任何效果。我也尝试删除 ScaleTo 并只显示图像,但它不起作用。
这是我的:
protected override async void OnAppearing()
{
base.OnAppearing();
await splashLogo.ScaleTo(1.5, 3000);
ShowLogin();
}
我通过添加 class:
解决了这个问题
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();
}
我有一个 class SplashScreen,我在其中显示图像缩放,缩放完成后会转到登录页面。我在多台设备上试过,只有一台设备的启动画面没有变化。
我一直在研究如何处理异步方法和等待指令,但到目前为止似乎没有任何效果。我也尝试删除 ScaleTo 并只显示图像,但它不起作用。
这是我的:
protected override async void OnAppearing()
{
base.OnAppearing();
await splashLogo.ScaleTo(1.5, 3000);
ShowLogin();
}
我通过添加 class:
解决了这个问题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();
}