gpt4 book ai didi

c# - WPF 和 Silverlight 命令实现是否对 M-V-VM (M-V-P) 模式无用?

转载 作者:行者123 更新时间:2023-11-30 22:50:09 24 4
gpt4 key购买 nike

请原谅我的无知,我最近才开始使用 Silverlight 编写代码。

我尝试在 Silverlight 中实现命令模式,但碰壁了。他们说命令很棒,因为你可以将它们写入 xaml,这样你就可以保持你的代码隐藏干净,而且你的 View 和 View 模型之间的耦合松散,因为 View 中没有对 View 模型的直接引用。

您无法保持代码隐藏干净,因为您只能将一个命令绑定(bind)到一个控件,并且您必须决定在绑定(bind)时哪个事件将触发您的命令。如果一个控件有 30 个事件,则必须选择一个进行命令。其他 29 个将执行来自隐藏代码的事件处理程序的其他命令。

通过依赖注入(inject)可以更简单地实现松散耦合,命令添加了一个无用的间接层,没有提供任何额外的东西,它们只会让您的代码更难维护。当您针对接口(interface)进行编程并准确查看调用的方法时,然后当您必须在命令定义和 View 模型之间不断跳转时,维护代码会更容易。

我是不是错过了什么,或者命令真的不适合用于 View 和 View 模型交互?

请看下面的问题。这就是为什么我没有得到所有关于命令的炒作:

How should I handle multiple events per control w/command pattern using MVVM in Silverlight?

最佳答案

看看 Prism ( http://prism.codeplex.com ) 及其 DelegateCommand<> 基础设施。它是 Silverlight 和 WPF 在 ViewModel(或 Presenter)中创建命令并直接绑定(bind)到它的一个很好的解决方案。同样在 Silverlight 3 中,行为可以为您提供一些相同的基于 XAML 的语法。

关于c# - WPF 和 Silverlight 命令实现是否对 M-V-VM (M-V-P) 模式无用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709776/

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