一个视图与多个 ViewModel
我有一个 Silverlight 页面,其名称是 MySampleView。根据用户的角色,该页面的功能会有所不同,例如,如果用户角色 A 打开此页面,它将从表 A 中获取数据,但如果用户角色 B 打开此页面,它将从表 B 中获取数据。
我想知道这样好吗?在这种情况下只有 1 个 View 和 2 个 ViewModel。如果是这样,设置数据上下文的正确方法是什么? (目前我在xaml中设置页面的DataContext,它不支持为1个视图切换2个视图模型。)
I have one Silverlight page, its name is MySampleView. This page will function differently base on user's role, for example, if user role A open this page it will get data from table A but if user role B open this page it will get data from table B.
I want to know is it good to have only one View and 2 ViewModels in this case. If so, what is a proper way to set datacontext? (Currently I set page's DataContext inside xaml which is not support to switch 2 viewmodels for 1 view.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您可以使用一个 ViewModel 但更改模型层,这样您就可以将用户角色传递给模型并从相应的表中获取数据。如果用户角色不是您想要传递给模型的信息,则可以将其转换为标志/枚举或模型层可接受的其他类型。
I think you can use one ViewModel but change Model layer so you will be able to pass user-role to Model and get data from correspondent table. if the user-role is not the info you want to pass to Model it's OK to conver it to a flag/enum or other type which will be acceptable at Model layer.