Я только что начал изучать M-V-VM для приложения WPF. Все это имеет смысл до сих пор, кроме этого конкретного вопроса ...Вопрос проектирования M-V-VM. Calling View from ViewModel
У меня есть ViewModel Я позвоню Поиск. Этот ViewModel привязывается к datagrid и отображает результаты элементов. Теперь у меня есть команда, которая должна поднять другой вид, деталь деталя.
Включение логики для отображения другого вида в представлении поиска не кажется правильным, оно не поддается тестированию вообще.
Вот моя реализация ViewModel, которая не является проверяемым ...
public class SearchViewModel
{
public void SelectItem()
{
// I want to call the DetailsView from here
// this seems wrong, and is untestable
var detailsView = new DetailsView();
detailsView.Show();
}
}
Где логика, чтобы показать вид из метода ViewModel идти в этой схеме?
Спасибо за помощь, это похоже на жизнеспособное решение. Несмотря на то, что я не могу тестировать логику для настройки представления (настройка свойств, которые взаимодействуют с введенным ViewModel), он оставляет проверяемым ViewModels, в котором находится большинство логики. – Jab 2008-11-21 16:47:40
Если простое событие открывает представление, это хорошо. Но что, если этому событию нужно еще какое-то действие, выборка данных, проверка. Не могли бы вы поместить этот материал в представление? Или создать другой уровень косвенности? – Sam 2009-01-08 09:51:42