我刚刚开始研究用于 WPF 应用程序的 MV-VM。到目前为止,除了这个特定问题之外,一切都有意义......
我有一个 ViewModel,我会调用 Search。此 ViewModel 绑定到数据网格并列出项目的结果。现在,我有一个命令需要调出另一个视图,即项目的详细信息。
将逻辑放在搜索视图中显示另一个视图似乎不正确,它根本不可测试。
这是我的 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 方法显示视图的逻辑在哪里?