void AddButtonToGrid(Grid grid, FlashCardButton buttonInfo, int index, OnButtonClickedEvent callback)
        {
            Button button = new Button {
                Name    = "Button" + index,
                Content = buttonInfo.AnswerText,
                Height  = 135.0,
                Margin  = new Thickness(10.0),
                Padding = new Thickness(10.0),
                Style   = (Style)Application.Current.FindResource("MaterialDesignOutlinedButton"),
                Command = new RelayCommand(() => {
                    if (callback != null)
                    {
                        callback.Invoke(buttonInfo);
                    }
                })
            };

            /// https://stackoverflow.com/questions/16790584/converting-index-of-one-dimensional-array-into-two-dimensional-array-i-e-row-a
            int colLength = grid.ColumnDefinitions.Count;
            int col       = index % colLength;

            int rowLength = grid.RowDefinitions.Count;
            int row       = index / rowLength;

            Grid.SetColumn(button, col);
            Grid.SetRow(button, row);

            grid.Children.Add(button);
        }
 void OnButtonClicked(FlashCardButton button)
 {
     if (button.IsAnswerRight)
     {
         m_AnsweredQuestions.Add(new AnsweredQuestion()
         {
             Question = m_CurrentFlashCard.Question, CorrectAnswer = true
         });
         Trace.WriteLine("Correct Answer!");
     }
     else
     {
         m_AnsweredQuestions.Add(new AnsweredQuestion()
         {
             Question = m_CurrentFlashCard.Question, CorrectAnswer = false
         });
         Trace.WriteLine($"{button.AnswerText}: {button.IsAnswerRight}");
     }
     NewFlashCard();
 }