Как связать usercontrol для обновления значения для определенного типа класса - PullRequest
2 голосов
/ 22 июня 2011

Я создаю пользовательский контроль для редактирования класса адресов. Класс адреса реализует Inotifypropertychanged и имеет такие свойства, как улица, почтовый индекс, код и т. Д.

Тогда у меня есть класс клиента, который содержит класс адреса.

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

<UIComponents:AddressControl  Address="{Binding Address, Mode=TwoWay}"/>

Адрес является свойством зависимости. Свойство класса customer также реализует inotifypropertychanged, но набор никогда не вызывается. Я подозреваю, что это связано с тем, что реальный объект не изменился, а только является подпрофессионалом.

Так как же заставить его вызывать сеттер при изменении объекта?

С уважением Morten

1 Ответ

0 голосов
/ 23 июня 2011

Внутри вашего класса Customer подключите событие PropertyChanged объекта Address к обработчику, который мы назовем ReflectPropertyChanged.ReflectPropertyChanged вызовет NotifyPropertyChanged для вашего члена Address.

Если вы сделаете это, не забудьте реализовать обработчик PropertyChanged в свойстве зависимостей Address, который удаляет обработчик из старого значения при установке нового адреса.

...