|
Модераторы: gambit, Kefir, Partizan |
|
AntiInt |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
Всем привет! собтвенно вот:
Вот при обновлении свойтва A, свойство B не обновляется, что делать? |
|||
|
||||
dzaraev |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Свойство не обновляется или не возникает события PropertyChanged с propertyName равным "B"? Потому что если именно значение свойства не меняется, то вы просто забыли его поменять, т.к. не видно, чтобы где-то было B = A. --------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
AntiInt |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
я принудительно обновляю в сеттере свойтва A свойство B.
Его значение изменяется, а вот похоже событие не срабатывает. |
|||
|
||||
AntonX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.2.2006 Где: РФ Репутация: -1 Всего: -1 |
Вообще то у Вас очень странный код.
Подделка генерации события "B" в коде установщика "A" это уже плохо пахнет. Ожидалось видеть что-то такое:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
AntiInt |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
Этот вариант также не работоспособен...
Почему плохо пахнет? У свойства В нет сеттера только геттер, поэтому нет другого варианта заставить вью узнать, что свойтво модели изменилось. |
|||
|
||||
dzaraev |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Нужно больше минералов кода, т.к. пока не понятно (по крайней мере мне), что могло вызвать проблемы. В приведённом кусочке всё верно обновляется и событие должно возникать.
Это нормальная практика, когда значение свойства B напрямую или косвенно зависит от значения свойства A, но своего сеттера не имеет (как и сказал AntiInt). Например если B вычисляется на основе других свойств. Это сообщение отредактировал(а) dzaraev - 7.10.2013, 16:04 --------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
AntiInt |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
Xaml этого дела:
Что к чему - не понятно. |
||||
|
|||||
likegift |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
обычно, если геттер не дернулся, значит при "инициализации" свойства B произошла ошибка. Посмотри output - возможно, там NullReferenceException. Поставьте точку останова на гетере, посмотрите что он возвращает при первом обращении. В конечном счете можно убрать проверку на исключения прямо в биндинге -NotifyOnValidationError=False
полюбому этот Dispensers нулевой при первом обращении;) Это сообщение отредактировал(а) likegift - 8.10.2013, 09:23 |
|||
|
||||
AntiInt |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
нет, Dispensers не null - факт, странность в том, что когда работает сеттер, то все методы в нем отрабатывают.
и когда приисходят вызовы OnPropertyChanged("A") и OnPropertyChanged("B") то так же все сначала нормально, НО я четко вижу как работает геттер для А(что логично, т.к. свойство обновляется), но геттер для B не работает. Вот в чем загадка? |
|||
|
||||
likegift |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
никто на форуме гадать не будет. скиньте сюда упрощенный пример проекта, на нем и посмотрим |
|||
|
||||
AntiInt |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 145 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
К сожалению, проект кинуть не могу,только вот этот код...
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |