private void RefreshListView() { String letter; String memo; String meaning; instance = new List <ListViewMainItem>(); for (int i = 0; i < wordGroup.GetExamWordNum(); i++) { if (wordGroup.GetIsRetakeTarget(i)) { wordGroup.GetWordInfoForRetake(i, out letter, out meaning, out memo); if (memoSplashBack) { memo = ""; } if (wordSplashBack) { letter = ""; } if (meaningSplashBack) { meaning = ""; } instance.Add(new ListViewMainItem(letter, memo, meaning)); hasNoRetakeWord = false; } } listViewMain.ItemsSource = instance; listViewMain.Items.Refresh(); }
private void BtnExamStart_Click(object sender, RoutedEventArgs e) { wordGroup.SelectWordForExam(); GroupInfo.ExamType examType; ExamTypeMeanWindow etmw; ExamTypeLetterWIndow etlw; gridMain.Visibility = Visibility.Hidden; String rightAnswer, hint, meaning, letter; bool isAutoScore = wordGroup.CurrentSetting.IsAutoScore; bool isFirstWord = true; bool hasNoRetakeWord; for (int i = 0; i < wordGroup.GetExamWordNum(); i++) { examType = wordGroup.GetWordExamType(i); examType = GroupInfo.ExamType.MeanOnly; //토익 시험을 위한 임시 if (examType == GroupInfo.ExamType.LetterOnly) { wordGroup.GetWordInfoForLetterExam(i, out rightAnswer, out hint, out meaning); etlw = new ExamTypeLetterWIndow(rightAnswer, hint, meaning, isRightAnswer, isFirstWord); etlw.AnswerEvent += new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild); etlw.Owner = this; etlw.WindowStartupLocation = WindowStartupLocation.CenterOwner; etlw.ShowDialog(); etlw.AnswerEvent -= new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild); wordGroup.ProcessWordAfterExam(this.isRightAnswer, i); } else { wordGroup.GetWordInfoForMeanExam(i, out rightAnswer, out letter); etmw = new ExamTypeMeanWindow(isAutoScore, rightAnswer, letter, isRightAnswer, isFirstWord); etmw.AnswerEvent += new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild); etmw.Owner = this; etmw.WindowStartupLocation = WindowStartupLocation.CenterOwner; etmw.ShowDialog(); etmw.AnswerEvent -= new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild); wordGroup.ProcessWordAfterExam(this.isRightAnswer, i); } isFirstWord = false; } if (wordGroup.CurrentSetting.IsRetake) { RetakeWindow rw = null; while (true) { rw = new RetakeWindow(wordGroup, out hasNoRetakeWord); if (hasNoRetakeWord) { break; } rw.AnswerEvent += new RetakeWindow.AnswerEventHandler(GetStateFromChild); rw.Owner = this; rw.WindowStartupLocation = WindowStartupLocation.CenterOwner; rw.ShowDialog(); rw.AnswerEvent -= new RetakeWindow.AnswerEventHandler(GetStateFromChild); if (!isRightAnswer) { break; } isFirstWord = true; for (int i = 0; i < wordGroup.GetExamWordNum(); i++) { if (wordGroup.GetIsRetakeTarget(i)) { examType = wordGroup.GetWordExamType(i); examType = GroupInfo.ExamType.MeanOnly; //토익 시험을 위한 임시 if (examType == GroupInfo.ExamType.LetterOnly) { wordGroup.GetWordInfoForLetterExam(i, out rightAnswer, out hint, out meaning); etlw = new ExamTypeLetterWIndow(rightAnswer, hint, meaning, isRightAnswer, isFirstWord); etlw.AnswerEvent += new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild); etlw.Owner = this; etlw.WindowStartupLocation = WindowStartupLocation.CenterOwner; etlw.ShowDialog(); etlw.AnswerEvent -= new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild); wordGroup.ProcessWordAfterRetake(isRightAnswer, i); } else { wordGroup.GetWordInfoForMeanExam(i, out rightAnswer, out letter); etmw = new ExamTypeMeanWindow(isAutoScore, rightAnswer, letter, isRightAnswer, isFirstWord); etmw.AnswerEvent += new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild); etmw.Owner = this; etmw.WindowStartupLocation = WindowStartupLocation.CenterOwner; etmw.ShowDialog(); etmw.AnswerEvent -= new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild); wordGroup.ProcessWordAfterRetake(isRightAnswer, i); } isFirstWord = false; } } } } gridMain.Visibility = Visibility.Visible; RefreshMainListView(); }