在我的Xamarin.Forms項目中,我有一個登錄表單登錄用戶,然後將它們重定向到另一個頁面。我想在嘗試登錄時顯示一個ActivityIndicator,但將IsVisible設置爲true在登錄功能完成之前實際上不會生效。我的代碼如下所示:Xamarin.Forms設置IsVisible在函數完成之前不會觸發。
void OnLoginButtonClicked(object sender, EventArgs e)
{
LoadingIndicator.IsVisible = true;
Login();
}
public void Login()
{
var user = new User
{
Email = usernameEntry.Text,
Password = passwordEntry.Text
};
User validUser = AreCredentialsCorrect(user);
if (validUser != null)
{
Navigation.PushAsync(new ProfilePage());
}
else
{
messageLabel.Text = "Login failed";
passwordEntry.Text = string.Empty;
//It will only show the LoadingIndicator at this point.
}
}
如果用戶是正確的,它永遠不會顯示LoadingIndicator因爲它導航到另一個頁面,纔可以證明這一點。 如果用戶無效,它將僅在碰到else子句並顯示「登錄失敗」後才顯示LoadingIndicator。任何人都可以解釋爲什麼這是,我能做些什麼來解決它?
不錯,這工作得很好。謝謝! – Fayze