`DesignMode` в субэлементах управления установлен неправильно?

У меня есть составной элемент управления, содержащий вложенные элементы управления. Проблема, с которой я сталкиваюсь, заключается в том, что элементы управления считывают свойства из глобального класса настроек, который является статическим, а внутреннее чтение из файла настроек. Чтобы запретить отдельным элементам управления доступ к конфигурации в режиме разработки, я добавил проверку в каждый элемент управления.

If(!DesignMode){
    ...
    //Initialize properties e.g. prop = AppConfig.GetProperty("prop1");
}

Проблема в том, что отдельные элементы управления работают нормально при открытии в VS. Но когда я открываю верхний элемент управления, содержащий вложенный элемент управления, я получаю ошибку от дизайнера VS. Ошибка в том, что во вложенном элементе управления DesignMode = false почему-то.

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

Я даже не знаю, как это отладить. На данный момент я закомментирую код инициализации свойства и создаю его, а затем открываю конструктор, раскомментирую его и снова создаю для запуска.

Кто-нибудь сталкивался с этой проблемой или есть способ ее исправить.

12
задан particle 21 December 2010 в 10:51
поделиться