在WPF中使用ViewModel创建用户控件

3
你认为创建一个已经带有ViewModel的UserControl,并将它们一起部署,这是一个好的做法吗?这样一来,UserControl将从库存中绑定到ViewModel。
在我看来,这是个不错的想法,但我从未见过这样的事情。
谢谢。
2个回答

2

使用这种方法需要注意的一点是,你需要保持数据上下文处于打开状态,以便在使用此控件的控件中进行绑定。

如果阻止了数据上下文,则稍后对该控件进行的任何绑定都必须指定源。


1
我会在ViewModel中为绑定的属性创建属性,当有人想要更改控件的一个属性(比如某个子控件启用)时,他必须通过View Model进行。 - Ignacio Soler Garcia

1

我个人认为这个想法没有什么不好的。对于足够复杂的UserControl,无论如何都需要一个ViewModel。但是我会尽可能地使它(VM)可扩展。

事实上,我曾经看到一些VM与控件一起发布--在Swing(Java)中。例如,TableModel确实作为JTable的一种VM。[但是没有真正的绑定,Swing的VM相当薄弱。]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接