我剛開始研究用於WPF應用程序的M-V-VM。除了這個特殊問題,一切都很有意義...M-V-VM設計問題。從ViewModel調用視圖
我有一個ViewModel我會打電話給Search。此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交互的屬性),它仍會保留ViewModels可測試的地方,這是大多數邏輯所在。 – Jab 2008-11-21 16:47:40
如果一個簡單的事件打開視圖,這是很好的。但是如果事件需要更多的操作,數據讀取和驗證呢?你也會把這些東西放進視圖嗎?或者創造另一個間接的層面? – Sam 2009-01-08 09:51:42