Я пытаюсь написать довольно простой пользовательский элемент управления в Silverlight 2, который позволяет пользователю искать существующие адреса, при необходимости обновлять выбранный адрес и добавлять новые адреса.
С этой целью я собрал простую службу WCF, которая позволяет выполнять простые запросы, и в настоящее время я подключаю ее к текстовому полю, комбинации списков (вскоре он будет заменен на AutoCompleteBox из Silverlight Toolkit).
Моя проблема связана с пониманием, тип возвращаемого значения из моей службы имеет тип IList ‹Address›, а Address не реализует INotifyPropertyChanged и не кажется подходящим для объектов, возвращаемых из службы (которые также могут быть вызваны другими клиентами) чтобы иметь встроенную функциональность SL2. Каков наилучший подход для облегчения двусторонней привязки для редактирования существующих адресов.
Основная идея заключается в следующем:
- Пользователь вводит информацию в текстовое поле
- Служба вызывается для получения совпадающих адресов IList ‹Address›, который возвращается как ObservableCollection ‹Address› в Reference.cs для моей службы
- Возвращаемые значения устанавливаются как ItemSource списка.
- Пользователь выбирает правильный адрес и указывает, что требуется обновление
- Экземпляр адреса привязан к контейнеру управления, содержащему несколько текстовых полей
По сути, я хочу, чтобы любые изменения в связанных текстовых полях автоматически отражались в экземпляре Address, но без INotifyPropertyChanged, как это будет работать? Нужно ли мне создавать другой класс в моем приложении SL2, который эффективно переопределяет реализации свойств для моего объекта данных службы?
Может ли кто-нибудь указать мне в правильном направлении по этому поводу, поскольку для меня это просто не имеет смысла ...
Ваше здоровье,
Стив