假设我有一个显示一些文字的简单视图。该文本来自View的ViewModel,它是一个数据绑定的字符串属性。我希望能够在应用程序中的多个位置设置ViewModel的字符串。
在我的应用程序的各个点获取ViewModel实例的最佳做法是什么?
我可以制作ViewModel单身,但这感觉不对。
有什么建议吗?
答案 0 :(得分:1)
我认为有不同的概念。 每个人都有它的优点和缺点......
1。)如果视图模型的构造函数中没有参数,则可以使用Control,View,Page的DataContext属性来绑定视图模型。它按照View ...旋转了一个实例...
2.。)如果你有复杂或组合的视图模型与构造函数注入...最好的方法是基于服务定位器模式的ViewModel定位器模式。
http://johnpapa.net/simple-viewmodel-locator-for-mvvm-the-patients-have-left-the-asylum http://blog.roboblob.com/tag/viewmodellocator/
3。)你必须首先考虑视图或首先考虑模型,也许还要考虑类似于视图模型的婚姻...... http://wildermuth.com/2009/5/22/Which_came_first_the_View_or_the_Model
HTH
答案 1 :(得分:0)