2012-05-08 3 views
2

Скажем, у меня есть ViewModel с свойством на нем Customer. Когда Клиент изменяет, он вызывает NotifyPropertyChanged.Обновить привязку свойства после изменения родительской ссылки

В классе Customer есть другие свойства (что все повышают NotifyPropertyChanged в сеттере). Например, у него есть строки из FirstName и LastName. Еще одно свойство в нем называется Address.

Адрес имеет такие свойства, как Line1, Line2, Zip, State и т. Д. Они также все повышают NotifyPropertyChanged при их изменении.

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

CurrentCustomer = FoundCustomer; 

То, что элементы, такие как FirstName и LastName становятся обновлены в моих BoundControls, но Line1, Line2, почтовый индекс и государство нет.

Я экспериментировал с созданием экземпляра ViewModel в адрес, как это:

CurrentAddress = FoundCustomer.Address; 

Когда я делаю это, то связанные свойства обновления правильно.

Есть ли что-то связанное с тем, что мне не хватает? Он только обновляет один уровень в глубину? Или только объект Value (not reference)?

Или это должно работать, и мне нужно посмотреть ближе на мои привязки?

+0

Как привязан к форме? –

+0

Пожалуйста, разместите свой XAML-код –

ответ

0

Попробуйте вместо того, чтобы поднимать NotifyPropertyChanged в сеттере, попробуйте поднять свойства где-нибудь в коде только тогда, когда вам нужно его поднять.

Смежные вопросы