protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); switch (e.Parameter.ToString()) { case "Addition": _exercice = new Addition(Config.LearningMode); break; case "Multiplication": _exercice = new Multiplication(Config.LearningMode); break; default: throw new NotSupportedException("Opération inconnue : " + e.Parameter); } ShowOperation(); _getupppa.Tick += getupppa_Tick; _getupppa.Start(); }
private async Task ShowMessage(ExerciceBase.Message message, bool continueExerciceAfterMessage = true) { _getupppa.Stop(); MessageTextBlock.Text = message.Text; FullScreenMessagePanel.Visibility = Visibility.Visible; ContentPanel.Visibility = Visibility.Collapsed; InputPane.GetForCurrentView().TryHide(); using (_messagePanelCancellationTokenSource = new CancellationTokenSource()) { try { await Task.Delay(message.Duration, _messagePanelCancellationTokenSource.Token); } catch (TaskCanceledException) { /* avoid ghost event that prevent the input field from keeping focus */ await Task.Delay(TimeSpan.FromSeconds(0.1)); } } if (continueExerciceAfterMessage) { _messagePanelCancellationTokenSource = null; FullScreenMessagePanel.Visibility = Visibility.Collapsed; ContentPanel.Visibility = Visibility.Visible; _getupppa.Start(); } }