首页 文章

c#mvvm如何将模型传递给viewmodel

提问于
浏览
0

我过去曾经读过很多关于MVVM的内容,但我并没有完全实现 . 我查看了MVVM Light框架并了解了ServiceLocater的模式以绑定View和Viewmodel . 但我没有找到任何关于模型和viewmodel之间的连接的帮助 .

到目前为止,我知道Viewmodel应该有一个私有的“Model”实例和View可以读取的一些公共属性 . Model应该实现INotifyPropertyChanged事件以通知Viewmodel,Viewmodel可以对数据执行某些操作和/或更改其公共属性并通知视图 .

我希望到目前为止我做对了 . 但是:模型在哪里创建? Viewmodel如何获得模型? Viewmodel是否创建了它?我的应用程序通过蓝牙连续获取数据并在后台处理它们 . 在不同的流程阶段,它会改变不同的模型 . 我的第一个方法是一个包含所有模型的Singleton . Viewmodel从Singleton获取Model,Background-process也可以访问Model . 但我认为“模式”真的很糟糕......但是我找不到任何解决方案来做这个“好” . 我不知道如何正确地在viewmodel和后台进程(businessLogic)之间共享模型 .

任何帮助我很高兴:)

1 回答

  • 0

    据我所知并在我们的WPF项目中使用 - 经典的MVVM委托在ViewModel上创建模型 . ViewModel应该是模型感知的 . 有时,ViewModel可以依赖ServiceLocator或DependencyInjection模式来查找和创建Model类(即通过接口) .

相关问题