2009-10-14 29 views
1

在我的複合WPF應用程序中,我將一些按鈕從模塊注入到shell的工具欄中。這些按鈕使用模塊的IModuleInitialize函數中的區域管理器注入。將按鈕注入到工具欄時,在哪裏放置命令?

由於我使用MVVM和命令,在哪裏將適當的地方放入注入按鈕的命令處理程序(執行和CanExecute)?在IModule課內?

回答

2

由於這是在MVVM下標記的,我假定每個「菜單按鈕」視圖都有一個視圖模型。您的視圖模型可以包含ICommand的處理程序(請參閱relay command here)。您的視圖將綁定到視圖模型上的ICommands。我沒有理由將任何事件掛接到您的IModule。就我個人而言,除了安裝依賴注入和初始化我的控制器之外,我從不在IModule :: Initialize中做任何事情。

+0

由於我使用複合WPF,我的視圖是我的外殼,我注入其他模塊的菜單按鈕。因此我不能將這些命令放在shell的viewmodel中。 你是什麼意思「初始化我的控制器」? MVVM中沒有控制器? – 2009-10-26 19:18:04

+1

你應該看看StockTraderRI以及他們如何使用「控制器」,它們與MVC中的控制器不同。棱鏡上下文中的控制器基本上處理所有視圖注入和較低級別的UI內容。 – 2009-10-26 19:22:56

相關問題