【发布时间】:2020-07-12 05:07:36
【问题描述】:
我正在使用 Xamarin.Forms 和 FreshMVVM 作为架构开发我的第一个应用程序,但在理解 MVVM 时仍然遇到一些麻烦,更具体地说,应该在 View 中还是在 ViewModel 中处理动画? 我知道对于需要使用模型的事件,视图和其他与 UI 不严格相关的东西之间的转换是在 ViewModel 中通过绑定和命令处理的。但是 ViewModel 是否处理所有事件?如果事件只修改 UI 的外观怎么办? 例如,在按下按钮时更改按钮的背景颜色,在这种情况下,背景颜色应该在视图的代码隐藏或视图模型的命令中的 Clicked() 事件中更改? 或者,如果我想在 View 消失时制作动画,我应该在 View 的代码隐藏或 ViewModel 中的 OnDisappearing() 事件中实现它吗?
我试图找到答案,但我无法将他们的 MVVM 解释外推到这个特定场景,所以我希望能得到解释。 就是这样,谢谢大家的时间。
【问题讨论】:
-
ViewModel不应包含任何业务逻辑,并负责修改业务模型以适应视图。实际上不应该有像SelectedIndex这样的东西,而是像SelectedItem这样的东西,例如。 VM 处理所有更改模型的事件,但不处理纯视图。如果只是为了外观,比如选择东西时的背景颜色,可以使用后面的代码。
标签: c# xamarin mvvm xamarin.forms viewmodel