Centrer un indicateur d’activité sur Xamarin.Forms

J’ai le code XAML ci-dessus et j’essaie de mettre un ActivityIndicator au centre de la page après avoir cliqué sur le bouton. J’ai essayé d’utiliser des exemples du Web, mais sans succès.

   

C’est le début du code:

 public partial class LoginPage : ContentPage { public LoginPage() { IsBusy = false; InitializeComponent(); int contadorErroLogin = 0; ssortingng result = null; BtnLogin.Clicked += async (sender, e) => { IsBusy = true; 

Quand commence IsBusy = false mais l’écran semble être true.

Essayez d’utiliser ceci:

                      

Vous pouvez essayer d’encapsuler votre ScrollViewer dans une Grid et sous votre ScrollViewer insérer un ÀctivityIndicator` centré verticalement et horizontalement.

Comme ça:

                 

Et le code derrière cette vue:

 public MainPage() { this.InitializeComponent(); this.BtnLogin.Clicked += BtnLogin_Clicked; } private void BtnLogin_Clicked(object sender, EventArgs e) { this.activityIndicator.IsRunning = true; // TODO: do stuff here } 

Lorsque je clique sur le BtnLogin je dis que activityIndicator devrait s’exécuter.

Ce qui se passe dans la grid, c’est que tous les contrôles de la grid prennent les Grid.Column et Grid.Row 0 par défaut. Donc, tous les contrôles sont les uns sur les autres.

MODIFIER:

Si vous essayez d’avoir une approche MVVM, vous pouvez définir votre vue actuelle avec BindingContext

Vue:

                   

Code derrière:

 public partial class MainPage : ContentPage { public MainPage() { this.InitializeComponent(); // Define the binding context this.BindingContext = this; // Set the IsBusy property this.IsBusy = false; // Login button action this.BtnLogin.Clicked += BtnLogin_Clicked; } private void BtnLogin_Clicked(object sender, EventArgs e) { this.IsBusy = true; } } 

J’espère que ça aide.