具有多ViewModel的一个视图

时间:2011-05-03 12:48:10

标签: silverlight mvvm

我有一个Silverlight页面,它的名字是MySampleView。此页面将根据用户的角色以不同的方式运行,例如,如果用户角色A打开此页面,它将从表A获取数据,但如果用户角色B打开此页面,它将从表B获取数据。

我想知道在这种情况下只有一个View和2个ViewModel是好的。如果是这样,设置datacontext的正确方法是什么? (目前我在xaml中设置了页面的DataContext,它不支持切换2视图模型的1个视图。)

1 个答案:

答案 0 :(得分:0)

我认为您可以使用一个ViewModel但更改Model层,这样您就可以将用户角色传递给Model并从对应表中获取数据。如果用户角色不是您要传递给模型的信息,则可以将其转换为标记/枚举或其他类型,这在模型层是可接受的。