From 2f919392ac71e48c0fcf46778b9b1fa6d6f25cf5 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sun, 5 Jul 2020 10:37:41 +0200 Subject: [PATCH 01/12] Fix wrong quiz generation if fifth part of a quiz is selected --- comquiz/Models/QuizSheet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comquiz/Models/QuizSheet.cs b/comquiz/Models/QuizSheet.cs index af7b72d..2da86c2 100644 --- a/comquiz/Models/QuizSheet.cs +++ b/comquiz/Models/QuizSheet.cs @@ -188,7 +188,7 @@ public static List SplitTheQuiz(List originalList, // Sixth equalPieces = 6; - if (quizPart == QUIZPARTIAL.Fifth) + if (quizPart == QUIZPARTIAL.Sixth) { wantTheLastPiece = true; } From 145c2b09d9fbae416f0e84d1fd19881f45c978ee Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 18:20:25 +0100 Subject: [PATCH 02/12] Avoid show the quiz statistic if "next question" button has been already pressed --- comquiz/ViewModels/QuizScreenViewModel.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/comquiz/ViewModels/QuizScreenViewModel.cs b/comquiz/ViewModels/QuizScreenViewModel.cs index c2d806f..c6feba2 100644 --- a/comquiz/ViewModels/QuizScreenViewModel.cs +++ b/comquiz/ViewModels/QuizScreenViewModel.cs @@ -53,9 +53,7 @@ public bool SpoilRightAnswer set => this.RaiseAndSetIfChanged(ref _spoilRightAnswer, value); } - - - + bool QuizIsOver = false; public QuizScreenViewModel(MainWindowViewModel parentDataContext) { @@ -115,7 +113,9 @@ public void NextQuestion() { // QUIZ FINISHED! - DisplayQuizResult(); + if(!QuizIsOver) DisplayQuizResult(); + + QuizIsOver = true; } else From d83b8604a32f138356ef7f4380a272b128035523 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 18:21:21 +0100 Subject: [PATCH 03/12] Add keyboard controls to QuizScreen --- comquiz/Views/QuizScreenView.xaml | 4 +- comquiz/Views/QuizScreenView.xaml.cs | 115 +++++++++++++++++++++++++-- 2 files changed, 111 insertions(+), 8 deletions(-) diff --git a/comquiz/Views/QuizScreenView.xaml b/comquiz/Views/QuizScreenView.xaml index bd951cd..e4b6a33 100644 --- a/comquiz/Views/QuizScreenView.xaml +++ b/comquiz/Views/QuizScreenView.xaml @@ -5,7 +5,9 @@ xmlns:localization="clr-namespace:comquiz.Properties" mc:Ignorable="d" d:DesignWidth="1024" d:DesignHeight="768" x:Class="comquiz.Views.QuizScreenView" - xmlns:local="clr-namespace:comquiz"> + xmlns:local="clr-namespace:comquiz" + x:Name="quizScreenUserControl" + > diff --git a/comquiz/Views/QuizScreenView.xaml.cs b/comquiz/Views/QuizScreenView.xaml.cs index 39dc45d..56e4b90 100644 --- a/comquiz/Views/QuizScreenView.xaml.cs +++ b/comquiz/Views/QuizScreenView.xaml.cs @@ -1,6 +1,7 @@ using Avalonia.Controls; using Avalonia.Markup.Xaml; using comquiz.ViewModels; +using System.Collections.Generic; namespace comquiz.Views { @@ -10,33 +11,133 @@ public QuizScreenView() { this.InitializeComponent(); - ListBox ohi = this.FindControl("lst_answers"); + ListBox lst_answers = this.FindControl("lst_answers"); - ohi.Tapped += Ohi_Tapped; + lst_answers.Tapped += Lst_answers_Tapped; } + protected override void OnAttachedToVisualTree(Avalonia.VisualTreeAttachmentEventArgs e) + { + UserControl quizScreenUserControl = this.FindControl("quizScreenUserControl"); + + quizScreenUserControl.KeyUp += QuizScreenUserControl_KeyUp; + + quizScreenUserControl.Focus(); + } + private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } - private void Ohi_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + private void QuizScreenUserControl_KeyUp(object sender, Avalonia.Input.KeyEventArgs e) + { + e.Route = Avalonia.Interactivity.RoutingStrategies.Tunnel; + + UserControl quizUserControl = (UserControl)sender; + + QuizScreenViewModel dataContext = (QuizScreenViewModel)quizUserControl.DataContext; + + Avalonia.Input.Key pressedKey = e.Key; + + int pressedKeyIntCode = (int)pressedKey; + + if (pressedKey == Avalonia.Input.Key.Space || pressedKey == Avalonia.Input.Key.NumPad0) + { + dataContext.ShowAnswers(); + + } + else if (pressedKey == Avalonia.Input.Key.Right || pressedKey == Avalonia.Input.Key.Enter) + { + dataContext.NextQuestion(); + + } + else if (pressedKey == Avalonia.Input.Key.Escape) + { + dataContext.TerminateQuiz(); + } + else + { + // Select answer based on what number I pressed on the keyboard + + // CHECK: Is the quiz ended? + if (dataContext.CurrentQuiz.GetUnansweredQuestion() is null) return; + + // 35 - "1" on keyboard, 43 - "9" on keyboard + bool keyboardNumberPressed = (pressedKeyIntCode >= 35 && pressedKeyIntCode <= 43); + // 75 - "1" on numeric keypad, 83 - "9" on numeric keypad + bool numpadNumberPressed = (pressedKeyIntCode >= 75 && pressedKeyIntCode <= 83); + + if(keyboardNumberPressed || numpadNumberPressed) + { + // + int choosedAnswerNumber = keyboardNumberPressed ? pressedKeyIntCode - 34 : pressedKeyIntCode - 74; + + ListBox answersListbox = this.FindControl("lst_answers"); + List answerList = (List)answersListbox.Items; + + if (!(choosedAnswerNumber > answerList.Count)) + { + int choosedAnswerListIndex = choosedAnswerNumber - 1; + + AnswerSheet choosedAnswerSheet = answerList[choosedAnswerListIndex]; + + if(answersListbox.SelectedItems.Contains(choosedAnswerSheet)){ + + answersListbox.SelectedItems.Remove(choosedAnswerSheet); + + } + else + { + answersListbox.SelectedItems.Add(choosedAnswerSheet); + + UncheckOverreplies(); + } + + dataContext.SelectedAnswers = answersListbox.SelectedItems; + + } + + } + + } + + // Got focus again on the whole UserControl + + UserControl quizScreenUserControl = this.FindControl("quizScreenUserControl"); + + quizScreenUserControl.Focus(); + + e.Handled = true; + + } + + private void Lst_answers_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - ListBox answersListbox = (ListBox)sender; + UncheckOverreplies(); + } + + /* + * Aiding methods + * + */ + + private void UncheckOverreplies() + { + ListBox answersListbox = this.FindControl("lst_answers"); QuizScreenViewModel dataContext = (QuizScreenViewModel)answersListbox.DataContext; int maxAllowedAnswers = dataContext.CurrentQuestion.NumberOfRightAnswers; - int doneAnswers = answersListbox.SelectedItems.Count; + int selectedAnswers = answersListbox.SelectedItems.Count; dataContext.SelectedAnswers = answersListbox.SelectedItems; - if (doneAnswers > maxAllowedAnswers) + if (selectedAnswers > maxAllowedAnswers) { answersListbox.SelectedItems.RemoveAt(0); } } - } } From 7436486ce1a0e09f19a48be3306962402f88a15e Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 19:14:49 +0100 Subject: [PATCH 04/12] Show right answers with middle button on QuizScreen --- comquiz/Views/QuizScreenView.xaml.cs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/comquiz/Views/QuizScreenView.xaml.cs b/comquiz/Views/QuizScreenView.xaml.cs index 56e4b90..d9531f3 100644 --- a/comquiz/Views/QuizScreenView.xaml.cs +++ b/comquiz/Views/QuizScreenView.xaml.cs @@ -23,13 +23,34 @@ protected override void OnAttachedToVisualTree(Avalonia.VisualTreeAttachmentEven quizScreenUserControl.KeyUp += QuizScreenUserControl_KeyUp; + quizScreenUserControl.PointerReleased += QuizScreenUserControl_PointerReleased; + quizScreenUserControl.Focus(); } - + private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } + + private void QuizScreenUserControl_PointerReleased(object sender, Avalonia.Input.PointerReleasedEventArgs e) + { + UserControl quizUserControl = (UserControl)sender; + + QuizScreenViewModel dataContext = (QuizScreenViewModel)quizUserControl.DataContext; + + if (e.InitialPressMouseButton == Avalonia.Input.MouseButton.Middle) + { + dataContext.ShowAnswers(); + } + + // Got focus again on the whole UserControl + + UserControl quizScreenUserControl = this.FindControl("quizScreenUserControl"); + + quizScreenUserControl.Focus(); + + } private void QuizScreenUserControl_KeyUp(object sender, Avalonia.Input.KeyEventArgs e) { From 936415bea4c6398e5b34a18096c668ed2fbae590 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 19:49:04 +0100 Subject: [PATCH 05/12] Add a new screen to show keyboard and mouse shortcuts --- comquiz/ViewModels/ControlsViewModel.cs | 7 +++ comquiz/ViewModels/MainWindowViewModel.cs | 5 ++ comquiz/Views/ControlsView.xaml | 75 +++++++++++++++++++++++ comquiz/Views/ControlsView.xaml.cs | 20 ++++++ comquiz/Views/MainMenuView.xaml | 15 +++-- comquiz/Views/MainMenuView.xaml.cs | 17 ++++- comquiz/comquiz.csproj | 5 ++ 7 files changed, 137 insertions(+), 7 deletions(-) create mode 100644 comquiz/ViewModels/ControlsViewModel.cs create mode 100644 comquiz/Views/ControlsView.xaml create mode 100644 comquiz/Views/ControlsView.xaml.cs diff --git a/comquiz/ViewModels/ControlsViewModel.cs b/comquiz/ViewModels/ControlsViewModel.cs new file mode 100644 index 0000000..41e50b9 --- /dev/null +++ b/comquiz/ViewModels/ControlsViewModel.cs @@ -0,0 +1,7 @@ +namespace comquiz.ViewModels +{ + class ControlsViewModel : ViewModelBase + { + + } +} diff --git a/comquiz/ViewModels/MainWindowViewModel.cs b/comquiz/ViewModels/MainWindowViewModel.cs index 1003eb3..4286141 100644 --- a/comquiz/ViewModels/MainWindowViewModel.cs +++ b/comquiz/ViewModels/MainWindowViewModel.cs @@ -61,5 +61,10 @@ public void DisplayAboutScreen() MainWindowContent = new AboutScreenViewModel(); } + public void DisplayControlsScreen() + { + MainWindowContent = new ControlsViewModel(); + } + } } diff --git a/comquiz/Views/ControlsView.xaml b/comquiz/Views/ControlsView.xaml new file mode 100644 index 0000000..742c37a --- /dev/null +++ b/comquiz/Views/ControlsView.xaml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mouse central button - SHOW RIGHT ANSWERS + + + + + + 1-9 Number buttons, 1-9 Numpad Buttons - SELECT ANSWERS + + + + Right arrow, Enter, Enter (Numpad) - NEXT QUESTION + + + + Spacebar, 0 on Numpad - SHOW RIGHT ANSWERS + + + + Esc - END THE QUIZ + + + + + + + + diff --git a/comquiz/Views/ControlsView.xaml.cs b/comquiz/Views/ControlsView.xaml.cs new file mode 100644 index 0000000..92ad5a5 --- /dev/null +++ b/comquiz/Views/ControlsView.xaml.cs @@ -0,0 +1,20 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace comquiz.Views +{ + public class ControlsView : UserControl + { + public ControlsView() + { + this.InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + + } + + } +} diff --git a/comquiz/Views/MainMenuView.xaml b/comquiz/Views/MainMenuView.xaml index 084abe6..d7ba115 100644 --- a/comquiz/Views/MainMenuView.xaml +++ b/comquiz/Views/MainMenuView.xaml @@ -4,8 +4,8 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:localization="clr-namespace:comquiz.Properties" mc:Ignorable="d" - d:DesignWidth="800" - d:DesignHeight="600" + d:DesignWidth="1024" + d:DesignHeight="768" x:Class="comquiz.Views.MainMenuView" xmlns:local="clr-namespace:comquiz"> @@ -237,14 +237,21 @@ - - + + + + + + + + + diff --git a/comquiz/Views/MainMenuView.xaml.cs b/comquiz/Views/MainMenuView.xaml.cs index b35317e..536b0b5 100644 --- a/comquiz/Views/MainMenuView.xaml.cs +++ b/comquiz/Views/MainMenuView.xaml.cs @@ -17,10 +17,12 @@ private void InitializeComponent() { AvaloniaXamlLoader.Load(this); - this.FindControl("txt_about").Tapped += Ohi_Tapped; + this.FindControl("txt_about").Tapped += About_Tapped; this.FindControl("txt_font").Tapped += Font_Tapped; + this.FindControl("txt_controls").Tapped += Controls_Tapped; + } private void Font_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) @@ -57,9 +59,8 @@ private void Font_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e } - private void Ohi_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + private void About_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - TextBlock tappedTextBox = (TextBlock)sender; MainMenuViewModel dataContext = (MainMenuViewModel)tappedTextBox.DataContext; @@ -67,5 +68,15 @@ private void Ohi_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) dataContext.MainDatacontext.DisplayAboutScreen(); } + + private void Controls_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + { + TextBlock tappedTextBox = (TextBlock)sender; + + MainMenuViewModel dataContext = (MainMenuViewModel)tappedTextBox.DataContext; + + dataContext.MainDatacontext.DisplayControlsScreen(); + } + } } diff --git a/comquiz/comquiz.csproj b/comquiz/comquiz.csproj index 25478d4..e1b6923 100644 --- a/comquiz/comquiz.csproj +++ b/comquiz/comquiz.csproj @@ -85,4 +85,9 @@ Always + + + MSBuild:Compile + + From 9912c0180ba0928d320d1a59a57bb3dd8dbd1b85 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 23:05:55 +0100 Subject: [PATCH 06/12] Clarify better what is the middle mouse button in controls menu --- comquiz/Views/ControlsView.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comquiz/Views/ControlsView.xaml b/comquiz/Views/ControlsView.xaml index 742c37a..c117515 100644 --- a/comquiz/Views/ControlsView.xaml +++ b/comquiz/Views/ControlsView.xaml @@ -46,7 +46,7 @@ - Mouse central button - SHOW RIGHT ANSWERS + Mouse central button (Wheel button) - SHOW RIGHT ANSWERS From 1287f229ecb86cca0ff7320806abe490f4539403 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 23:07:13 +0100 Subject: [PATCH 07/12] Remove the "wrong answers number" modal - Change a localization message --- comquiz/Properties/strings.it.resx | 2 +- comquiz/ViewModels/QuizScreenViewModel.cs | 25 +++++++++++++++-------- comquiz/Views/QuizScreenView.xaml | 8 ++++++++ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/comquiz/Properties/strings.it.resx b/comquiz/Properties/strings.it.resx index da2318e..cb0e100 100644 --- a/comquiz/Properties/strings.it.resx +++ b/comquiz/Properties/strings.it.resx @@ -196,7 +196,7 @@ Errore durante la lettura del QUIZ - Hai selezionato meno risposte di quanto dovresti. Mettici una pezza. + Hai selezionato meno risposte del dovuto. Selezionane altre dalla lista QUIZ completato. Risultato diff --git a/comquiz/ViewModels/QuizScreenViewModel.cs b/comquiz/ViewModels/QuizScreenViewModel.cs index c6feba2..faed233 100644 --- a/comquiz/ViewModels/QuizScreenViewModel.cs +++ b/comquiz/ViewModels/QuizScreenViewModel.cs @@ -22,7 +22,13 @@ public QuizSheet CurrentQuiz public QuestionSheet CurrentQuestion { get => _currentQuestion; - set => this.RaiseAndSetIfChanged(ref _currentQuestion, value); + set + { + this.RaiseAndSetIfChanged(ref _currentQuestion, value); + + WarningForNotEnoughAnswer = false; + + } } short _currentQuestionNumber; @@ -53,6 +59,13 @@ public bool SpoilRightAnswer set => this.RaiseAndSetIfChanged(ref _spoilRightAnswer, value); } + bool _warningForNotEnoughAnswer = false; + public bool WarningForNotEnoughAnswer + { + get => _warningForNotEnoughAnswer; + set => this.RaiseAndSetIfChanged(ref _warningForNotEnoughAnswer, value); + } + bool QuizIsOver = false; public QuizScreenViewModel(MainWindowViewModel parentDataContext) @@ -175,15 +188,9 @@ public void DisplayQuizResult() AnsweringEnabled = false; } - public static void ShowNotEnoughAnswersAlert() + public void ShowNotEnoughAnswersAlert() { - var messageBoxStandardWindow = MessageBox.Avalonia.MessageBoxManager.GetMessageBoxStandardWindow( - "( ⚆ _ ⚆ )", - Properties.strings.quizScreen_notEnoughSelectedAnswers, - MessageBox.Avalonia.Enums.ButtonEnum.Ok, - MessageBox.Avalonia.Enums.Icon.Info); - - messageBoxStandardWindow.Show(); + WarningForNotEnoughAnswer = true; } diff --git a/comquiz/Views/QuizScreenView.xaml b/comquiz/Views/QuizScreenView.xaml index e4b6a33..9f49698 100644 --- a/comquiz/Views/QuizScreenView.xaml +++ b/comquiz/Views/QuizScreenView.xaml @@ -35,6 +35,14 @@ + + + + + + + + From a758b5e056aea5ff9db051ffb500284177a3d52b Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sat, 9 Jan 2021 23:27:56 +0100 Subject: [PATCH 08/12] Avoid confirming answers if not enough answer has been selected yet --- comquiz/ViewModels/QuizScreenViewModel.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/comquiz/ViewModels/QuizScreenViewModel.cs b/comquiz/ViewModels/QuizScreenViewModel.cs index faed233..e58c84d 100644 --- a/comquiz/ViewModels/QuizScreenViewModel.cs +++ b/comquiz/ViewModels/QuizScreenViewModel.cs @@ -108,7 +108,11 @@ public void ShowAnswers() public void NextQuestion() { - MarkChoosedAnswers(); + + if (CurrentQuestion.NumberOfRightAnswers == SelectedAnswers.Count) + { + MarkChoosedAnswers(); + } ANSWERED questionStatus = CurrentQuestion.GetQuestionStatus(); From e7082cebedd1b80a57dba8d0d1633d33a3d67980 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sun, 10 Jan 2021 13:02:15 +0100 Subject: [PATCH 09/12] Change version label on main menu --- comquiz/ViewModels/MainMenuViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comquiz/ViewModels/MainMenuViewModel.cs b/comquiz/ViewModels/MainMenuViewModel.cs index a7889fd..fbd2047 100644 --- a/comquiz/ViewModels/MainMenuViewModel.cs +++ b/comquiz/ViewModels/MainMenuViewModel.cs @@ -8,7 +8,7 @@ class MainMenuViewModel : ViewModelBase { readonly public MainWindowViewModel MainDatacontext; - public string _version = "v200410"; + public string _version = "v210110"; public string Version { get => _version; From 71b1390b68984a3d6793f19ccaef11ab064ca278 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sun, 10 Jan 2021 13:53:02 +0100 Subject: [PATCH 10/12] Avoid crash if you press "next question" button before defining SelectedAnswers --- comquiz/ViewModels/QuizScreenViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comquiz/ViewModels/QuizScreenViewModel.cs b/comquiz/ViewModels/QuizScreenViewModel.cs index e58c84d..5b42dd8 100644 --- a/comquiz/ViewModels/QuizScreenViewModel.cs +++ b/comquiz/ViewModels/QuizScreenViewModel.cs @@ -109,7 +109,7 @@ public void ShowAnswers() public void NextQuestion() { - if (CurrentQuestion.NumberOfRightAnswers == SelectedAnswers.Count) + if (CurrentQuestion.NumberOfRightAnswers == SelectedAnswers?.Count) { MarkChoosedAnswers(); } From 661beebb99c0a501c0339da27fab9036d0245c29 Mon Sep 17 00:00:00 2001 From: Alessio Di Giacomo Date: Sun, 10 Jan 2021 16:17:17 +0100 Subject: [PATCH 11/12] Make FontSize bound only to Dynamic resources --- comquiz/App.xaml | 4 ++++ comquiz/Views/AboutScreenView.xaml | 6 +++--- comquiz/Views/ControlsView.xaml | 12 ++++++------ comquiz/Views/MainMenuView.xaml | 20 ++++++++++++++------ comquiz/Views/QuizScreenView.xaml | 12 ++++++------ 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/comquiz/App.xaml b/comquiz/App.xaml index 52e9c4e..9d23685 100644 --- a/comquiz/App.xaml +++ b/comquiz/App.xaml @@ -307,7 +307,11 @@ 12 14 + 15 18 + 20 + 30 + 50 20 diff --git a/comquiz/Views/AboutScreenView.xaml b/comquiz/Views/AboutScreenView.xaml index ddb7144..db596e5 100644 --- a/comquiz/Views/AboutScreenView.xaml +++ b/comquiz/Views/AboutScreenView.xaml @@ -10,7 +10,7 @@ @@ -37,11 +37,11 @@ - - + A huge thanks to the Avalonia UI community for the tremendous help and understanding they gave me during my learning diff --git a/comquiz/Views/ControlsView.xaml b/comquiz/Views/ControlsView.xaml index c117515..aa7e00d 100644 --- a/comquiz/Views/ControlsView.xaml +++ b/comquiz/Views/ControlsView.xaml @@ -8,7 +8,7 @@ @@ -35,21 +35,21 @@ - - + - + - + Mouse central button (Wheel button) - SHOW RIGHT ANSWERS - + 1-9 Number buttons, 1-9 Numpad Buttons - SELECT ANSWERS diff --git a/comquiz/Views/MainMenuView.xaml b/comquiz/Views/MainMenuView.xaml index d7ba115..5e02f88 100644 --- a/comquiz/Views/MainMenuView.xaml +++ b/comquiz/Views/MainMenuView.xaml @@ -25,7 +25,7 @@ - +