将按钮注入工具栏时将命令放在哪里?
在我的复合 WPF 应用程序中,我将一些按钮从模块注入到 shell 的工具栏中。这些按钮是使用模块的 IModule
Initialize
函数中的区域管理器注入的。
由于我使用的是 MVVM 和命令,那么哪里才是放置注入按钮的命令处理程序(Execute 和 CanExecute)的合适位置?就在 IModule
类中?
In my composite WPF application I am injecting some buttons into the shell's toolbar from a module. These buttons are injected using the region manager in the module's IModule
Initialize
function.
Since I'm using MVVM and Commands, where would an appropriate place be to put the Command handlers (Execute and CanExecute) for the injected buttons? Right inside the IModule
class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于这是在 MVVM 下标记的,我假设您拥有的每个“菜单按钮”视图都有一个视图模型。您的视图模型可以包含 ICommand 的处理程序(请参阅此处的中继命令)。您的视图将绑定到视图模型上的 ICommand。我认为没有理由将任何事件挂接到您的 IModule 上。就我个人而言,除了设置依赖项注入和初始化控制器之外,我从未在 IModule::Initialize 中执行任何操作。
Since this is tagged under MVVM, I assume each "menu button(s)" view you have has a view model. Your view model can contain the handlers for the ICommand (See relay command here). Your view would bind to the ICommands on your view model. I see no reason to hook any events to your IModule. Personally, I never do anything in the IModule::Initialize besides setup dependency injection and initialize my controllers.