Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> События в WPF. Обращение к компонентам формы из события 
:(
    Опции темы
CasperSC
Дата 24.7.2010, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 27.11.2009

Репутация: 1
Всего: 1



Здравствуйте. Есть такой вопрос - Почему в WPF, если я создал событие стандартным способом (в окне свойств щелчок по вкладке "События" и двойной клик по пустому полю напротив названия нужного события), то во время запуска приложения вылетает ошибка, она вылетает в том случае, если я в событии обращаюсь к какому либо компоненту расположенному в окне. 

Ошибка:
System.NullReferenceException не обработано пользовательским кодом
  Message=Ссылка на объект не указывает на экземпляр объекта.

Из-за этого приходиться подписывать контролы в находящиеся окне на обработчики событий в конструкторе окна.
Код

        public WindowAdd()
        {
            InitializeComponent();

            //Подписываем здесь, так как выпала ошибка, так как срабатывало событие раньше, 
            //чем инициализировались изменяемые элементы в обработчике этих событий
            this.chBoxPlayMusic.Checked += new RoutedEventHandler(ChangeEnabledControls);
            this.chBoxPlayMusic.Unchecked += new RoutedEventHandler(ChangeEnabledControls);
        }


Ну как-то же это решается? Не ставить же теперь в каждое событие try {}  catch(Exception exc) {}

Это сообщение отредактировал(а) CasperSC - 24.7.2010, 09:28
PM MAIL   Вверх
Kefir
Дата 3.8.2010, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Такой проблемы в WPF нет и подписываться упомянутым стандартным способом можно и работать они будут. Но я так понимаю, что неким образом эти эвенты начинают у вас стрелять до выхода окна из InitializeComponent(), что и приводит к нулям.

Если можно - приведите пожалуйста код обработчика который так вываливается и XAML того контрола, который рождает эвент.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.