1

WPF 中的一个视图可以有多个 ViewModel 吗?因为有时我们只需要以简单的视图格式显示视图,而有时相同的视图必须以可编辑的格式显示。因此,我们可以为每个创建单独的视图模型。

那么有没有办法将 2 个不同的视图模型连接到一个视图?

4

2 回答 2

2

ViewModel 应该作为您的 View 的数据上下文,因此只允许单个 VM。

没有理由不能将 View 分解为多个 UserControl,每个 UserControl 都有自己的 ViewModel。

于 2010-11-24T00:27:23.557 回答
1

通常,您会将您的视图绑定到单一类型的视图模型。这并不是说您的类型不能是接口或两个视图都继承自的基类。

当我有一个将跨越多个不同视图的单一视图模型类型时,我倾向于只使用接口或基类/派生类情况。例如,如果我有两种显示小部件信息的不同类型的表单,我将创建一个基本的小部件 ViewModel 类。

在您的情况下,听起来您应该 a.) 为您的简单视图和高级视图创建两个视图,或者 b.) 简单地使用单个 ViewModel 类。

于 2010-11-09T03:38:34.387 回答