gpt4 book ai didi

wpf - MVVM 中 WPF 命令的可接受模式是什么?

转载 作者:行者123 更新时间:2023-12-04 12:25:43 26 4
gpt4 key购买 nike

我正在开发一个 WPF 应用程序,我非常了解命令模式,但我发现 MVVM 的命令模式有几种不同的实现。 Josh Smith 在他的 WPF 示例应用程序中实现了 DelegateCommand来自 Prism 和 CommandBindings执行。

我的问题是,在 MVVM 中使用命令的公认最佳实践是什么?我的应用程序使用 Prism 所以 DelegateCommand可供我们使用。

我团队中的开发人员正在争论哪种方法是“最好的”。有些人不喜欢为每个命令生成大量的 .cs 文件,其他人则更喜欢通过 CommandBindings 连接所有内容。 .我不知所措。任何人都可以透露一些信息吗?

最佳答案

嗯 - 我认为没有 解决方案。

CommandBindings 不是那么容易测试的,并且在 ViewModel 中引入了对 WPF 类的依赖,这不是很好。
所以我不会使用它们。

DelegateCommand 和 CommandSinkCommand(Josh Smith 的解决方案)都是 IMO 的好方法。他们并没有真正的不同,而且没有一个比另一个优越。
但是,我注意到,当命令路由变得更加复杂时(尤其是在涉及 DataTemplates 时),CommandSink 版本并不总是有效。

您甚至可以组合它们:使用 DelegateCommand 并另外使用 JoshSmith 版本 - 这样您就可以结合两者的优点。
你唯一需要的是一些辅助类——并不难实现。

更重要的是应用程序中的一致性:如果您决定要使用什么,则应该在整个应用程序中遵循这种方式。

关于wpf - MVVM 中 WPF 命令的可接受模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com