Дизайнер не генерирует код для свойства субконтроля. Зачем? - PullRequest
6 голосов
/ 13 сентября 2010

Я создал SubCtrl, наследующий UserControl.У него нет кода.Затем я создал Ctrl, который также наследует UserControl.В нем есть SubCtrl, и его единственный код означает публичное раскрытие, поэтому он появляется в списке свойств Ctrl:

public subctrl.SubCtrl SUBCTRL
{
    get { return this.subCtrl1; }
}

Затем я создал простой проект Form, в котором есть только Ctrl и неткод.Как я и хотел, SUBCTRL появляется в списке свойств Ctrl, поэтому я могу что-то изменить.Я изменил цвет фона (скажем, на красный), и subctrl стал красным в конструкторе.

Но волшебным образом, когда я запускаю проект, он возвращается к стандартному серому.Похоже, что в Form1.Designer.cs не генерируется код для изменения заднего цвета SUBCTRL на красный.Если я пишу это от руки, это работает, но это не то, что я хочу.Очевидно, он должен быть автоматическим.

С другой стороны, Ctrl ведет себя нормально.Код сгенерирован и все работает счастливо.

Что не так с субконтролем?

1 Ответ

10 голосов
/ 13 сентября 2010

Добавить [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] к собственности.

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