2009-10-14 23 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

相关问题