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);
        }