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