Я пытаюсь автоматически войти в систему при запуске приложения.Поэтому я создал следующую команду в моей ViewModel:
public Command LoginCommand { get; private set; }
public LoginViewModel()
{
LoginCommand = new Command(async () => await Login());
}
Код XAML выглядит следующим образом:
<Button Text="Login" Command="{Binding LoginCommand}" Style="{StaticResource LoginButton}"/>
Так что это работает хорошо, если я не использую ту же командуBindingcontext в методе onAppearing соответствующей страницы:
protected override async void OnAppearing()
{
base.OnAppearing();
if (LoginVM.AutoLogin)
{
LoginVM.LoginCommand.Execute(null);
}
}
В результате, как только страница появляется, процедура входа в систему выполняется правильно.Однако, если вход не удается (например, из-за тайм-аута), ничего не произойдет, если я снова нажму кнопку входа в систему .
Интересная часть заключается в том, что если я добавлю обработчик события "Clicked" к кнопке и оттуда выполню команду LoginCommand вручную, это сработает.
Может кто-нибудь сказать мне, почему код ведет себя такэто?
Большое спасибо заранее!