У меня составной элемент управления содержит вложенные элементы управления. Проблема, с которой я сталкиваюсь, заключается в том, что управление свойствами чтения из глобального класса настроек является статическим, а внутреннее чтение - из файла настроек. Чтобы запретить индивидуальному элементу управления доступ к конфигурации в режиме конструктора, я добавил проверку в каждом элементе управления.
If(!DesignMode){
...
//Initialize properties e.g. prop = AppConfig.GetProperty("prop1");
}
Проблема в том, что индивидуальный контроль работает нормально при открытии в VS. Но когда я открываю верхний элемент управления, содержащий вложенный элемент управления, я получаю сообщение об ошибке от дизайнера VS. Ошибка в том, что во вложенном элементе управления DesignMode=false
почему-то нет.
Я также создал тестовое приложение и создал простой элемент управления в другом элементе управления, чтобы проверить, есть ли проблема с VS, но, похоже, он работает правильно для любой глубины элементов управления.
Я даже не знаю, как это отладить. А пока я закомментирую код инициализации свойства и соберу его, а затем открою конструктор, а затем раскомментирую его и соберу снова, чтобы запустить.
Кто-нибудь сталкивался с этой проблемой или есть способ ее исправить.