private void SaveQuestion_handle(object sender, RoutedEventArgs e) { FormQuestion form = GetFormQuestionBySaveButton((Button)sender); _controller.SaveQuestion(form.Category, form.Index, new Question() { A = form.AInput.Text, B = form.BInput.Text, C = form.CInput.Text, D = form.DInput.Text, Quest = form.QuestionInput.Text, ValidResponce = (ResponceType)Enum.Parse(new ResponceType().GetType(), form.ComboBox.Text) }); }
private Border CreateQuestForm(Question q) { newFormQuestion = new FormQuestion(); var border = new Border(); border.Padding = new Thickness(10, 10, 10, 10); border.BorderThickness = new Thickness(1); border.BorderBrush = Brushes.Black; var grid = new Grid(); border.Child = grid; grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.Add(new RowDefinition()); grid.RowDefinitions.Add(new RowDefinition()); var dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 0); Grid.SetRow(dockPanel, 0); Grid.SetColumnSpan(dockPanel, 2); var qText = new TextBlock(); qText.Text = "Вопрос:"; dockPanel.Children.Add(qText); var qTextBox = new TextBox(); qTextBox.Margin = new Thickness(10, 0, 0, 0); qTextBox.Text = q.Quest; dockPanel.Children.Add(qTextBox); grid.Children.Add(dockPanel); dockPanel.Margin = new Thickness(0, 0, 0, 10); newFormQuestion.QuestionInput = qTextBox; qTextBox.TextChanged += TextBox_TextChanged; dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 0); Grid.SetRow(dockPanel, 1); qText = new TextBlock(); qText.Text = "A:"; dockPanel.Children.Add(qText); qTextBox = new TextBox(); qTextBox.Margin = new Thickness(10, 0, 0, 10); qTextBox.Text = q.A; dockPanel.Children.Add(qTextBox); grid.Children.Add(dockPanel); newFormQuestion.AInput = qTextBox; qTextBox.TextChanged += TextBox_TextChanged; dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 1); Grid.SetRow(dockPanel, 1); qText = new TextBlock(); qText.Text = "B:"; qText.Margin = new Thickness(10, 0, 0, 0); dockPanel.Children.Add(qText); qTextBox = new TextBox(); qTextBox.Margin = new Thickness(10, 0, 0, 10); qTextBox.Text = q.B; dockPanel.Children.Add(qTextBox); grid.Children.Add(dockPanel); newFormQuestion.BInput = qTextBox; qTextBox.TextChanged += TextBox_TextChanged; dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 0); Grid.SetRow(dockPanel, 2); qText = new TextBlock(); qText.Text = "C:"; dockPanel.Children.Add(qText); qTextBox = new TextBox(); qTextBox.Margin = new Thickness(10, 0, 0, 0); qTextBox.Text = q.C; dockPanel.Children.Add(qTextBox); grid.Children.Add(dockPanel); newFormQuestion.CInput = qTextBox; qTextBox.TextChanged += TextBox_TextChanged; dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 1); Grid.SetRow(dockPanel, 2); qText = new TextBlock(); qText.Text = "D:"; dockPanel.Children.Add(qText); qTextBox = new TextBox(); qTextBox.Margin = new Thickness(10, 0, 0, 0); qTextBox.Text = q.D; qText.Margin = new Thickness(10, 0, 0, 0); dockPanel.Children.Add(qTextBox); grid.Children.Add(dockPanel); newFormQuestion.DInput = qTextBox; qTextBox.TextChanged += TextBox_TextChanged; dockPanel = new DockPanel(); Grid.SetColumn(dockPanel, 0); Grid.SetRow(dockPanel, 3); Grid.SetColumnSpan(dockPanel, 2); qText = new TextBlock(); qText.Text = "Ответ:"; dockPanel.Children.Add(qText); qText.Margin = new Thickness(10, 0, 0, 0); var qComboBox = new ComboBox(); qComboBox.Margin = new Thickness(10, 0, 0, 0); foreach (var item in Enum.GetNames(new ResponceType().GetType())) { qComboBox.Items.Add(item); } qComboBox.SelectedIndex = Enum.GetNames(new ResponceType().GetType()).ToList().IndexOf(q.ValidResponce.ToString()); dockPanel.Margin = new Thickness(0, 10, 0, 0); dockPanel.Children.Add(qComboBox); grid.Children.Add(dockPanel); newFormQuestion.ComboBox = qComboBox; qComboBox.SelectionChanged += ComboBox_SelectionChanged; var buttonStack = new StackPanel(); buttonStack.Orientation = Orientation.Horizontal; buttonStack.HorizontalAlignment = HorizontalAlignment.Right; grid.Children.Add(buttonStack); Grid.SetColumn(buttonStack, 1); Grid.SetRow(buttonStack, 4); var button = new Button(); button.Content = "Удалить"; button.Margin = new Thickness(0, 10, 3, 0); button.Width = 100; button.Click += DeleteQuestion_handle; buttonStack.Children.Add(button); button = new Button(); button.Content = "Сохранить"; newFormQuestion.Save = button; button.Margin = new Thickness(3, 10, 0, 0); button.Width = 100; button.Click += SaveQuestion_handle; button.Visibility = Visibility.Hidden; buttonStack.Children.Add(button); border.Margin = new Thickness(2, 5, 2, 5); return(border); }