Создание обработчика события с использованием созданного элемента в коде

Столкнулся с проблемой при создании обработчика на кнопку. У меня есть форма, на которой ещё нет элементов, кроме кнопки с обработчиком. Форма в Visual Studio Форма с кнопкой и с ещё не созданными элементами Форма запущенной программы с созданными элементами. введите сюда описание изображения Создание нужных элементов с данными из БД (для наглядности оставил только создание чекбоксов).

        //Метод, который выполняется при запуске программы
        public void LoadIngredient()
        {
            //Данные из БД
            MySqlConnection MSConnection = DBConnection.ConnectionOpen();
            MySqlCommand MSCommand = new MySqlCommand("SELECT * FROM ингредиент;", MSConnection);
            MySqlDataReader ingredient = MSCommand.ExecuteReader();
            while(ingredient.Read())
            {
                //Создание сетки
                var bc = new BrushConverter();
                Grid global = new Grid
                {
                    Background = (Brush)bc.ConvertFrom("#FFECECEC"),
                    Margin = new Thickness(0, 10, 0, 0)
                };
                //Создание чекбокса
                CheckBox addIngredient = new CheckBox
                {
                    Content = "Чекбокс",
                    HorizontalAlignment = HorizontalAlignment.Left,
                    Margin = new Thickness(10,14,0,0),
                    VerticalAlignment = VerticalAlignment.Top,
                };
                global.Children.Add(addIngredient);
                parrent.Children.Add(global);
            }
            ingredient.Close();
            MSConnection.Close();
            MySqlConnection.ClearAllPools();
        }

Но столкнулся с тем, что не могу написать обработчик, в котором я ссылаюсь на ещё не созданные элементы на форме, т.к. они создаются только при запуске.

        //Тот самый обработчик, который висит на кнопке
        private void ПроверкаЧекбокс(object sender, RoutedEventArgs e)
        {
            if (checkBox2.IsChecked == true) MessageBox.Show("Выбран чекбокс " + checkBox2.Content);
        }

Ошибка (Все ссылки на метод и обработчик есть, просто для удобочитаемости переименовал) Ошибка в коде обработчика события кнопки Как я могу решить данную проблему? Учитывая, что элементы должны создаваться динамически, т.е. после запуска программы, но как ссылаться на них в коде в обработчике кнопки я не понимаю.


Ответы (0 шт):