Как выяснить, если другие элементы управления построены до OnInit

StackOverflow https://stackoverflow.com/questions/1618528

Вопрос

Я делаю пользовательский элемент управления.

По сути, я ищу событие OnPreInit в пользовательских элементах управления. Мне в основном нужно знать, что все элементы управления, которые будут загружены типа MyCustomControl, созданы или нет.

Хорошо, поэтому в основном мне нужно знать в конструкторе, будет ли текущий создаваемый экземпляр последним.

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

Я думал о переопределении AddParsedObject. Но если экземпляр моего пользовательского элемента управления не содержит никаких элементов управления, будет ли он вызываться?

Это было полезно?

Решение

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

Другие советы

Мне неприятно говорить использовать счетчик, но вам либо придется передавать информацию о состоянии через выделенный класс (или контекст), что вы можете сделать в конструкторе элемента управления до тестирования, если вы Получите столько, сколько вам нужно, или вы можете сделать рекурсивную прогулку по Page.Controls и их .Controls и проверить каждый из них на тип ....

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top