我將很快開始一個新項目,並正在尋找來自WPF,Prism和MVVM經驗的您的建議。Prism和MVVM用於新的WPF項目
該項目肯定是WPF,我將實施MVVM(我可能會使用Josh Smith的MVVM Foundation作爲起點),以便能夠從UI /邏輯等的分離中受益。我不確定儘管如果我也能從使用棱鏡來構建我的項目。
讓我簡單介紹一下這個項目。將有一個主要的「工具欄」,將顯示一些小部件。每個小部件都顯示與其功能相關的一些基本數據,並且單擊該小部件將打開一個新窗口,該窗口將顯示更詳細的數據幷包含用於查看/編輯數據的豐富UI。
現在,我想我可以使用棱鏡框架項目,但我從來沒有使用過它,不知道它是否適合我想要實現的。例如,我的「工具欄」是否會包含一個包含每個小部件可以填充的區域的shell?單擊某個窗口小部件時顯示的每個新窗口是否也將擁有自己的區域設置?如果我可以獲取工具欄上的工具欄和一個小部件的圖案,我可以將其複製到其餘的小部件上。
除了棱鏡,我有一個關於如何MVVM應該如何實現某些數據編輯窗口的問題。比方說,我有一個顯示一些數據的圖表,用戶可以直接在圖表上點擊/鼠標移動來編輯他所看到的數據。所有數據都在模型中,並且視圖模型通過綁定將該數據提供給視圖。我的問題是,將鼠標點擊/移動事件,特定於該視圖中的圖表,寫在哪裏?我們不希望在視圖的代碼中留下太多/任何東西,我們也不希望在視圖模型中擁有UI事件處理程序,所以我不確定如何處理這種類型的場景。我知道命令是這裏可能的答案,但我所看到的MVVM示例通常顯示簡單按鈕單擊的示例命令。大意是否一致?所以,如果任何人有任何關於上述或關於使用WPF和MVVM/Prism的一般提示的建議,請讓我知道。
謝謝。
本文使用MEF而不是Prism,但在使用IoC的東西時有其他一些關於WPF和MVVM的有趣想法:http://www.codeproject.com/KB/WPF/SoapBoxCorePinBallDemo.aspx – 2010-08-31 01:12:48