Пример #1
0
        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();
        }
Пример #2
0
        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();
            }
        }