2012-01-12 69 views
1

我需要爲ViewModel設置不同的命令,例如Close,Edit,Cancel,ShowPic,ShowVideo。
基於我有不同的ViewModels,我有像關閉,編輯,取消等常用命令做相同的操作,只有上下文可以不同。然後對於其他像ShowPic,ShowVideo它們屬於他們自己的視圖模型。在MVVM中存儲RelayCommand的好習慣

在這樣的情況下如何組織你的命令的好做法:

  1. 你把他們都在一個單獨的類叫「命令」?
  2. 你把它們放在那裏有各自的ViewModels,甚至有些是常見的?
  3. 你是否將公共命令與其他人分開?

感謝您的建議和樣品你將如何組織他們。

未查看特定

回答

0

答案是「2」。

即使其他ViewModel具有相同的命令,它的注入服務(如果您不知道我在說什麼,可以在「IoC」中進行閱讀),它們可以在ViewModels中執行繁重的操作並允許您避免冗餘邏輯。

0

某些命令(例如打印,保存等,其具有共同的功能獨立的視圖的)可以被聲明爲靜態在一些靜態UilityExecuteCanExecute處理程序和可使用x:Static屬性的約束XAML。

但是,視圖特定的命令應駐留在ViewModel