События дочернего элемента управления внутри пользовательского элемента управления - PullRequest
1 голос
/ 16 ноября 2010

Фон на контроле

У меня есть элемент управления, который заменяет парадигму использования поля выбора возможных действий вместе с кнопкой «сделать это». Это в основном div с неупорядоченным списком внутри, который содержит кнопки asp.net.

Мой выпуск

Настройка родительского элемента управления, чтобы я мог добавить дочерние элементы управления в коллекцию со страницы aspx. Единственная вещь в файле codebehind - это событие click, которое я хочу, чтобы дочерний элемент управления сработал.

По какой-то причине дочерний элемент управления никогда не запускает событие click, хотя я вижу, что ему был назначен правильный EventHandler.

Классы

Вот псевдоподпись для родительского элемента управления:

[ParseChildren(true)]
[PersistChildren(false)]
public class ParentControl : CompositeControl

Вот список дочерних элементов управления внутри родителя:

[NotifyParentProperty(true)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<ChildControl> Items

Наконец, вот дочерний элемент управления:

ChildControl : Button

Я просмотрел кучу других вопросов на сайте, но пока мне ничего не помогло. Это задерживает мою работу около недели, и я очень отчаянно пытаюсь найти решение на этом этапе.

1 Ответ

1 голос
/ 17 ноября 2010

Мне кажется, я нашел ответ на свой вопрос. Первоначально я использовал пользовательскую коллекцию для хранения дочерних элементов управления внутри родительского элемента. Я попытался поместить их в родительскую коллекцию «Элементы управления», и она сразу начала работать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...