MVVM用户控件可以在代码中定义属性吗?

时间:2010-05-24 07:47:32

标签: wpf mvvm properties user-controls code-behind

我有一个WPF用户控件...在MVVM中。用户控件(包含列表视图)需要来自页面的数据(包含它的位置)。我必须设置一个属性来获取此数据输入。这是否符合MVVM ......如果不符合,那么它的方法是什么?

2 个答案:

答案 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。如果这是有目的的,那么让我知道整个设计,以提供更好的主意。