J'essaie de faire un chronomètre dans Xamarin Forms et je me demandais si je devais utiliser le thread d'interface utilisateur native ou Parallel Task Lib pour mettre à jour constamment l'étiquette de temps? J'ai essayé d'utiliser le PT Lib, mais je n'arrive pas à le mettre à jour mon label, ce qui me fait penser que je devrais utiliser Native Threading, mais je suis inquiet si je pouvais mettre à jour l'interface utilisateur en utilisant une dépendance un service. Existe-t-il une meilleure pratique pour constamment mettre à jour l'interface utilisateur tout en étant capable d'exécuter d'autres tâches telles que les clics sur les boutons? MISE À JOUR: J'ai obtenu ce code ci-dessous pour travailler, mais est-ce une bonne pratique? Je suis en train de mettre à jour l'étiquette de l'heure tout en continuant à appuyer sur les boutons.Bibliothèque de tâches Parellel vs Thread UI Xamarin.Forms lors de la mise à jour constante de l'interface utilisateur
Stopwatch sw = new StopWatch();
bool inRace = false;
async void StartLapClick(object sender, System.EventArgs e)
{
if (!inRace)
{
inRace = true;
sw.Start();
updateTimer();
}
}
async void updateTimer()
{
await Task.Run(() =>
{
while(inRace)
{
string slc = sw.Elapsed.ToString();
Device.BeginInvokeOnMainThread(() =>
{
timerLbl.Text = slc;
});
Task.Delay(100).Wait();
}
});
}
De quelle résolution avez-vous besoin sur votre chronomètre? Secondes ou sous-secondes? – ctacke
@ctacke Je vais afficher le temps en minutes: seconds.miliseconds –