private void finish_Click(object sender, RoutedEventArgs e) { testing.Visibility = Visibility.Hidden; select.Visibility = Visibility.Visible; finish.IsEnabled = false; start.IsEnabled = true; var st = answers.Children; //список StackPanel, що містить обєкти типу Question(1 поле textblock and 4 fields radiobutton; foreach (var item in st) { StackPanel s = (StackPanel)item; var rad = s.Children; // list objects: 1 поле textblock and 4 fields radiobutton foreach (var it in rad) { // якщо текстблок пропускаєм if (it.GetType() == typeof(TextBlock)) { continue; } else { Radiobutton1 r = (Radiobutton1)it; if (r.IsChecked == false) { continue; } else { selectObj = true; if (r.TrueOrNot == false) { result = false; goto M; } } } } } M : if (result == false | selectObj == false) { MessageBox.Show("your test is wrong"); } else { MessageBox.Show("your test is right"); } //видаляємо елементи із grid answers; answers.Children.Clear(); exit.IsEnabled = true; }
// початок тесту private void start_Click(object sender, RoutedEventArgs e) { Test selectItem = (Test)tests.SelectedItem; currentTest = selectItem; // якщо вибраний певний тест if (selectItem != null) { select.Visibility = Visibility.Hidden; testing.Visibility = Visibility.Visible; finish.IsEnabled = true; //записуєм список запитання List <Question> listQuestions = selectItem.Questions; int i = 0; Radiobutton1[] rd = new Radiobutton1[4]; //перебираєм масив запитань foreach (var item in listQuestions) { var stPanel = new StackPanel(); var lQuest = new TextBlock(); lQuest.Text = item.Quest; int index = 0; int rightIndex = int.Parse(item.Right); //перебираєм масив відповідей та записуємо їх в масив радіобаттонів foreach (var elem in item.answers) { rd[index] = new Radiobutton1(); rd[index].Height = 18; rd[index].Content = elem; rd[index].TrueOrNot = false; //якщо відповідь вірна - то записуєм в свойство рд-бна тру. if (index == rightIndex) { rd[index].TrueOrNot = true; } index++; } // додаємо все це в стекпанель stPanel.Children.Add(lQuest); foreach (var items in rd) { stPanel.Children.Add(items); } //додаємо панелів грід answers.Children.Add(stPanel); i++; } } else { MessageBox.Show("select test"); } }