Я подумал наверняка, что у меня есть ответ на этот вопрос, и написал все это, но что-то беспокоило меня в этом, так что я закончил тестировать это в течение нескольких часов.
Оказывается, (как сказал Эйлон), я не думаю, что вы можете сделать это.
Элементы управления ASCX полностью игнорируют DesignerAttribute , поэтому вы не можете указать для них настраиваемое средство визуализации времени разработки. Я подумал: «Хорошо, я могу создать подкласс для элемента управления Panel и указать новый конструктор, который будет получать свойства из родительского элемента управления». Угадай, что? Без шансов. При доступе к родительскому элементу управления Panel в конструкторе он не будет приведен к пользовательскому типу пользовательского элемента управления . Я вижу, что это UserControl, и это не может быть любой другой UserControl, кроме моего TestUserControl, но класс конструктора выдает исключение, если я пытаюсь привести его!
Это поражает, если честно. По сути, это именно то, о чем говорит Эйлон, - существует преднамеренное ограничение веб-управления пользователями в режиме разработки.
Вот расплывчатое сообщение от Стивена Ченга, в котором говорится, что поддержка времени разработки не нужна для пользовательских веб-контролей.
Хотя это была забавная возможность для меня, извините, что сообщаю, что я не думаю, что .ascx его урежет. Я почти уверен, что даже компиляция в DLL, как предположил Эйлон, этого не сделает. Вам, вероятно, придется пройти маршрут пользовательского управления.