将按钮注入工具栏时将命令放在哪里?

发布于 2024-08-07 23:27:29 字数 217 浏览 2 评论 0原文

在我的复合 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梨涡少年 2024-08-14 23:27:29

由于这是在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文