Как заставить динамические пользовательские элементы управления играть с дизайнером - PullRequest
0 голосов
/ 13 сентября 2011

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

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Почему бы не предоставить возможность определения количества динамических элементов управления во время разработки и во время выполнения?

  1. В своем пользовательском классе элементов управления вы можете определить свойство, которое определяетколичество контролей.Реализуйте добавление / удаление элементов управления в методе set {} этого свойства.

  2. Сделайте ваше свойство "свойством конструктора".См. http://msdn.microsoft.com/en-us/library/a19191fh.aspx

Имейте в виду, что дизайнер фактически создает экземпляр вашего класса.Кроме того, когда пользователь изменяет ваше «свойство» в конструкторе, вызывается метод set {}.

Надеюсь, это поможет

1 голос
/ 13 сентября 2011

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

...