[英]c# mvvm how to pass model to viewmodel
过去,我已经阅读了很多有关MVVM的内容,但是我还没有完全了解。 我查看了MVVM Light框架,并了解了ServiceLocater绑定View和Viewmodel的模式。 但是我没有发现有关模型与视图模型之间连接的任何帮助。
到目前为止,我知道Viewmodel应该具有一个私有的“ Model”实例和一些公共属性,以供View读取。 该模型应实现INotifyPropertyChanged事件以通知Viewmodel,后者可以对数据进行某些操作和/或更改其公共属性并通知视图。
我希望到目前为止我做对了。 但是:模型是在哪里创建的? 以及Viewmodel如何获取模型? Viewmodel是否创建它? 我的应用程序连续通过蓝牙获取数据并在后台处理它们。 在不同的流程阶段,它会更改不同的模型。 我的第一个方法是拥有所有模型的Singleton。 Viewmodel从Singleton获取模型,并且后台进程也可以访问模型。 但是我认为“模式”确实很糟糕。.但是我找不到任何解决方案来做到这一点。 我不知道如何在viewmodel和后台进程(businessLogic)之间正确共享模型。
我很高兴有任何帮助:)
据我所知并在我们的WPF项目中经常使用-经典MVVM在ViewModel上委托模型创建。 ViewModel应该是可识别模型的。 有时,ViewModel可以依赖ServiceLocator或DependencyInjection模式来发现并创建Model类(即通过接口)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.