Где и как следует управлять выбранными элементами в архитектуре MVVM? - PullRequest
2 голосов
/ 21 июня 2010

У меня есть представление, которое позволяет пользователю выбирать некоторые данные: например, некоторые даты, и выполняет команду, которая требует эти данные.

Так что в моей команде должна быть ссылка на выбранную дату,но что является лучшей практикой, чтобы заставить эту дату перейти на сторону ViewModel, где находится команда:

  • , чтобы добавить свойство зависимостей SelectedDate в ViewModel и связать мое представление с ним, и ссылаться на него вкоманда через "@ this.SelectedDate" (с @this ссылкой на текущую ViewModel),
  • , чтобы позволить представлению передавать его через "параметр" метода "Execute" команды и ссылаться надата с параметром «DateTime selectedDate = (DateTime);»,
  • любое другое решение ...

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 21 июня 2010

Я бы сделал SelectedDate свойством зависимости модели представления, абсолютно.

Я бы также заставил команду получить SelectedDate из модели представления. Нет никаких оснований для представления что-либо об этом знать.

1 голос
/ 26 июня 2010

Пример приложения BookLibrary из WPF Application Framework (WAF) показывает способ обработки выбранного элемента с помощью MVVM: ViewModel имеет «Выбранную книгу».'свойство, которое связано с View.

1 голос
/ 21 июня 2010

Что касается первой части, да, я думаю, что SelectedDate должен быть (INotify) свойством вашей ViewModel.

У меня нет четкого мнения о том, где ваше командование должно получить эту информацию, я думаю, что все в порядке.

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