MVVM Binding с выставленным свойством - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть вид, который подключен к ViewModel. У меня есть одноэлементный класс, представленный foo.Current. У меня есть свойство в этом классе, которое будет меняться в результате команды нажатия кнопки, вызывающей функцию foo.Current. Я хочу иметь возможность привязать текст текстового поля к этому значению, и когда это значение обновится, текстовое поле будет обновлено. Моя ViewModel реализует INotifyPropertyChanged, и у меня есть другие свойства в модели представления, которые прекрасно обновляют элементы управления. Как лучше всего сделать, чтобы этот синглтон-класс обновил мою ViewModel новым значением? Я думаю, мне нужно найти способ заставить класс Singleton обновить ViewModel.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

Нет лучшего способа в текущей ситуации, варианты следующие:

  1. Определите свойство в вашей модели представления и передайте эту модель просмотра вашему одиночному.Singleton должен изменить соответствующее свойство вместе со своим собственным.
  2. Переместить свойства из singleton в viewmodel или включить singleton в саму viewmodel
  3. Создать событие для изменения свойства в singleton
  4. Унаследуйте синглтон от INotifyPropertyChanged и в вашей виртуальной машине присоедините к событию PropertyChanged синглтон.И следите за именем своего свойства.
  5. ...

Самый простой вариант - это первый вариант, хотя в вашем приложении могут быть архитектурные несоответствия, которые следует обработать.

0 голосов
/ 03 апреля 2012

Если я вас хорошо понимаю, я бы использовал шаблон Observer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...