一些MVVM问题(WPF C#)
我最近一直在研究MVVM,我似乎已经了解了总体思路。有几点我不太明白,我想在这里得到一些答案,干杯一些MVVM问题(WPF C#),c#,wpf,mvvm,algorithm,C#,Wpf,Mvvm,Algorithm,我最近一直在研究MVVM,我似乎已经了解了总体思路。有几点我不太明白,我想在这里得到一些答案,干杯 对整个应用程序使用一个数据模型是否不正确。通常,如果我创建一个小实用程序,我会将所有逻辑数据放在一个类中。这意味着我可以有如下内容: DataStore myData = new DataStore; `DataStore myData = new DataStore; ` 如果可以有一个数据模型,那么可以有多个模型视图,比如一个表示每个窗口或视图(这就是我设想的MVVM工作方式) 如上所述
DataStore myData = new DataStore;
`DataStore myData = new DataStore; `
DataStore myData = new DataStore;
`DataStore myData = new DataStore; `
这很好。您的数据模型就是您的数据模型,应该以尽可能最好的方式表示数据,无论是在一个类中还是在1000个类中
如果可以使用一个数据模型
有多个型号可以吗
视图,例如一个代表每个视图
窗口或视图(这是我
设想MVVM工作)
当然,在我看来,这正是你应该做的。一般来说,无论视图是控件还是窗口,每个视图都需要一个视图模型。在某些情况下,您可能会发现为一个特定视图使用多个视图模型会有所帮助,但我会首先查看以确保我没有一个应拆分的视图
如果一个有多个
模型视图看起来
模型必须在之前声明
第一个窗口(视图),应该在哪里显示
应该申报吗?模型应该是
通过对后续文件的引用传递
模型视图?这难道不是一个好消息吗
耦合源作为窗口或
页面(视图)需要了解
要将其传递到其模型视图的模型
因为视图实例化了模型
视图
现在你进入了宗教领域。我将对此稍作说明,并说做对您的应用程序有意义的事情。也就是说,如果您想减少模型和视图/视图模型之间的耦合,我强烈建议您从模型类中提取接口。在App.xaml.cs文件中创建模型,然后将其传递给视图(model)将非常简单作为接口的实现。绝对同意:数据绑定体系结构的好处之一是,您可以在简化的模型-视图体系结构中工作,并且只有在视图开始要求时,才可以扩展到更复杂的MVVM方法。为了支持更简单的体系结构,我会毫不犹豫地在模型类上实现INotifyPropertyChanged(尽管我同意一旦您开始需要推出DPs,您可能就进入了视图模型领域)。是的,您理解正确。我知道我可以缩短流程,但我正在尝试(令人沮丧的是,我可能会补充)在使用更大的应用程序之前学习MVVM。看来我的工作很忙