我刚开始研究WPF应用程序的M-V-VM。到目前为止,除了这个特定问题之外,一切都很清晰...
我有一个ViewModel,我称之为Search。这个ViewModel绑定到一个数据网格并列出项目的结果。现在,我有一个命令需要打开另一个视图,即项目的详细信息。
在Search View中放置显示另一个视图的逻辑似乎不合适,它根本无法进行测试。
以下是我的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方法显示视图的逻辑放在哪里?