| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > INotifyPropertyChanged |
| Автор: AntiInt 7.10.2013, 08:58 | ||
Всем привет! собтвенно вот:
Вот при обновлении свойтва A, свойство B не обновляется, что делать? |
| Автор: dzaraev 7.10.2013, 10:44 | ||
Свойство не обновляется или не возникает события PropertyChanged с propertyName равным "B"? Потому что если именно значение свойства не меняется, то вы просто забыли его поменять, т.к. не видно, чтобы где-то было B = A. |
| Автор: AntiInt 7.10.2013, 11:16 |
| я принудительно обновляю в сеттере свойтва A свойство B. Его значение изменяется, а вот похоже событие не срабатывает. |
| Автор: AntonX 7.10.2013, 12:43 | ||
| Вообще то у Вас очень странный код. Подделка генерации события "B" в коде установщика "A" это уже плохо пахнет. Ожидалось видеть что-то такое:
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/INotifyPropertyChanged-id52524de3ae2015ac0f000000#findElement_E7045_5252824dae2015e14600048e_0 |
| Автор: AntiInt 7.10.2013, 15:01 |
| Этот вариант также не работоспособен... Почему плохо пахнет? У свойства В нет сеттера только геттер, поэтому нет другого варианта заставить вью узнать, что свойтво модели изменилось. |
| Автор: AntiInt 8.10.2013, 06:34 | ||||
Xaml этого дела:
Что к чему - не понятно. |
| Автор: likegift 8.10.2013, 09:20 |
| обычно, если геттер не дернулся, значит при "инициализации" свойства B произошла ошибка. Посмотри output - возможно, там NullReferenceException. Поставьте точку останова на гетере, посмотрите что он возвращает при первом обращении. В конечном счете можно убрать проверку на исключения прямо в биндинге -NotifyOnValidationError=False полюбому этот Dispensers нулевой при первом обращении;) |
| Автор: AntiInt 8.10.2013, 10:43 |
| нет, Dispensers не null - факт, странность в том, что когда работает сеттер, то все методы в нем отрабатывают. и когда приисходят вызовы OnPropertyChanged("A") и OnPropertyChanged("B") то так же все сначала нормально, НО я четко вижу как работает геттер для А(что логично, т.к. свойство обновляется), но геттер для B не работает. Вот в чем загадка? |
| Автор: likegift 8.10.2013, 11:23 | ||
никто на форуме гадать не будет. скиньте сюда упрощенный пример проекта, на нем и посмотрим |
| Автор: AntiInt 8.10.2013, 14:09 |
| К сожалению, проект кинуть не могу,только вот этот код... |