private void nextButton_Click(object sender, RoutedEventArgs e) { if (this.questionPanel.Children[0] is MCQuestionUserControl) { MCQuestionUserControl mcQuestionCtrl = this.questionPanel.Children[0] as MCQuestionUserControl; if (!mcQuestionCtrl.IsCorrect) { MessageWindow msgWin = new MessageWindow(); msgWin.ShowMessage("请检查答案或者察看解题方法!", MessageBoxButton.OK, null); return; } } else if (this.questionPanel.Children[0] is TableQuestionUserControl) { TableQuestionUserControl tableQuestionCtrl = this.questionPanel.Children[0] as TableQuestionUserControl; if (!tableQuestionCtrl.IsCorrect) { MessageWindow msgWin = new MessageWindow(); msgWin.ShowMessage("请检查答案或者察看解题方法!", MessageBoxButton.OK, null); return; } } else if (this.questionPanel.Children[0] is FIBQuestionUserControl) { FIBQuestionUserControl fibQuestionCtrl = this.questionPanel.Children[0] as FIBQuestionUserControl; if (!fibQuestionCtrl.IsCorrect) { MessageWindow msgWin = new MessageWindow(); msgWin.ShowMessage("请检查答案或者察看解题方法!", MessageBoxButton.OK, null); return; } } this.ShowNextQuestion(); }
private void ShowQuestion(Question question) { if (question == null) { return; } this.solutionWrapPanel.Children.Clear(); this.sectionInfoLabel.Content = this.exercise.CurrentSection.Title + this.exercise.CurrentSection.Description; this.UpdateButtonState(); this.questionPanel.Children.Clear(); if (question is MCQuestion) { MCQuestionUserControl ctrl = new MCQuestionUserControl(question as MCQuestion, this.exercise.GetQuestionResponse(question.Id) as SelectableQuestionResponse, this.exercise.QuestionIndex); ctrl.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; ctrl.VerticalAlignment = System.Windows.VerticalAlignment.Center; this.questionPanel.Children.Add(ctrl); } else if (question is TableQuestion) { TableQuestionUserControl ctrl = new TableQuestionUserControl(question as TableQuestion, this.exercise.GetQuestionResponse(question.Id) as SelectableQuestionResponse); this.questionPanel.Children.Add(ctrl); } else if (question is FIBQuestion) { FIBQuestionUserControl ctrl = new FIBQuestionUserControl(question as FIBQuestion, this.exercise.GetQuestionResponse(question.Id) as FIBQuestionResponse, this.exercise.QuestionIndex); ctrl.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; ctrl.VerticalAlignment = System.Windows.VerticalAlignment.Center; this.questionPanel.Children.Add(ctrl); } else if (question is ESQuestion) { ESQuestionUserControl ctrl = new ESQuestionUserControl(question as ESQuestion, this.exercise.GetQuestionResponse(question.Id) as ESQuestionResponse, this.exercise.QuestionIndex); ctrl.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; ctrl.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; this.questionPanel.Children.Add(ctrl); } }