我叫 Jesús,来自西班牙,是一名 .NET 开发人员,几天前我刚刚发现了这个伟大的网络。
我有一些关于 MVVM 模式的问题,如果您能回答我,我将很高兴。
我三个月前开始使用 WPF,并且学习了 MVP 模式。
MVP 非常好,因为您可以很好地构建应用程序。
我开始到处都看到 MVVM,但每个人都按照自己的方法使用该模式。
每个博主都在其 WPF 博客中谈论 MVVM,但每个实现都是不同的。
我现在专注于在 CodePlex 上使用 MVVM 工具包的实现,但我有疑问并且找不到太多信息。
我认为 MVVM 是 MVP 的变体。
对于 MVP,每个视图都有一个演示者来完成视图的工作。
在 MVVM 中也是一样的,但是只要有可能就使用命令。
我还发现,如果你需要一个活动,就像 MVP 一样;将事件委托给演示者/视图模型,也就是说,如果它不是视图的工作(例如更新 UI)。
另一方面,视图模型没有视图引用,因此我必须更加努力地处理数据绑定。
您必须使用 DelegateCommands(与 RelayCommands 相同,对吧?)。
嗯...更多问题...使用具有两个视图/用户控件的相同视图模型是否安全?
哦...昨天玩MVVM的时候遇到了一个问题。
我创建了一个CommandReference
我的键绑定命令的命令,我将此引用分配给我的按钮的命令属性,嗯,CanExecuted
第一次可以用,但是没有更新IsEnabled
财产时CanExecuted
是真的。我通过将命令直接绑定到按钮而不使用引用来修复它。问题是:为什么有些代码将引用链接到对象,而为什么其他代码直接绑定命令?
我应该学习哪些与 MVVM 相关的知识? (我昨天看到了一种叫做执着行为的东西,但我不知道那是什么)。
我正在重写一个使用 MVP 开发的笔记应用程序,但现在使用 MVVM。我将用命令替换事件(使用 DelegateCommand),消除视图模型上的视图引用,我认为这都是因为我看到的 MVVM 示例很像 MVP。
好吧,如果您指出我对这种模式的所有误解,我将不胜感激。
谢谢你,将来我会帮助下一个 MVVM 新手:)