我有一个WPF用户控件...在MVVM中。用户控件(包含列表视图)需要来自页面的数据(包含它的位置)。我必须设置一个属性来获取此数据输入。这是否符合MVVM ......如果不符合,那么它的方法是什么?
答案 0 :(得分:1)
我担心这在MVVM设计模式中是不正确的。尝试坚持您的视图模型来定义属性。你为什么不考虑将该属性移动到控制vm?
答案 1 :(得分:1)
使用ObservableCollection
而不是。
ObservableCollection<myModel> myOC = new ObservableCollection<myModel>();
其中myModel
是必须构造的类,将DataTable中的列转换为属性。
在MainViewModel中,循环访问DataReader并从中创建myOC
。
现在将myOC
绑定到页面中的ListView。
ListView的DataTemplate应该是一个视图(UserControl)从myModel
构建的ViewModel中绘制数据
但是你的UserControl里面有整个ListView。如果这是有目的的,那么让我知道整个设计,以提供更好的主意。