在用户请求完成之前,我需要在出现的每个页面上或以某种方式执行一些检查(例如:CheckForUpdate、CheckNetworkConnection、CheckUserAuthorization 等)。
所以我创建了 ac# 类并将其命名为BasePage.cs:
public static class BasePage
{
public static async void CheckForUpdate()
{
// actual codes to check for updates are not included here
// just a sample alert
await App.Current.MainPage.DisplayAlert("Update", "There is a new version avaiable to update, would you like to download?", "Download", "Skip");
}
}
并在我的页面中使用它,如下所示:
LoginPage.cs
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
}
protected async override void OnAppearing()
{
await Task.Run(() => BasePage.CheckForUpdate());
}
}
我不知道这是否是最佳实践(我猜不是),但无论如何它都没有显示警报。
所以我的问题是在每个页面上执行函数的最佳方式是什么,为什么上面的代码不起作用。
潇潇雨雨
相关分类