数据层
我有一个 Order 类作为实体。这个订单实体是我的模型对象。
订单可以是不同的类型,让它成为
A
乙
C
d
Order类也可能具有常用属性,如Name,创建时间等。
同样基于订单类型,有不同的字段不常见。
查看图层
该视图包含以下内容
主菜单包含下拉菜单按钮,该按钮用于根据从下拉列表中选择的类型创建订单。下拉列表包含订单类型(A,B,C和D)。
根据订单类型有不同的用户控制。例如,如果用户选择创建类型A的订单,则会弹出具有不同输入字段的不同视图。
因此,每种订单类型都有四个用户控件。
如果用户从下拉列表中选择A选项,则会创建类型A的订单,反之亦然。
现在,下面是列表视图,其中包含用户目前创建的订单列表。
要修改任何特定订单,用户可以双击列表视图行。根据列表视图中用户单击的订单类型,该订单类型的视图将以编辑模式打开。例如,如果用户从列表视图中选择订单类型A,则查看订单类型A在编辑模式下打开。
请在上面讨论的场景中建议视图模型的交互模型。
如果查询非常基本,请原谅我,因为我是MVVM和WPF的新手。
答案 0 :(得分:0)
不是给你一个特定的设计,我会建议一种不同的方式来看问题。
制作你的xaml。现在,如果它可以以任何方式组织数据暴露它想要的任何方法集,那会是什么样子?在想象这一点时,甚至不要考虑实体的真实结构。更多的遗产?减?由您决定 - 无论您的观点最适合什么。
好的,你刚才描述的是你的ViewModel。为此编写公共API。然后,将其连接到实际的底层实体。
答案 1 :(得分:0)
如何为所选订单类型创建正确的View是您的主要问题吗?即下拉或ListView如何触发正确的Order视图显示。
如果这就是你所得到的,那么你会想要这样的东西:当用户点击Orders列表(例如)时,你需要更改一些底层的ObservableCollection并发送某种类型的通知或强制它在某种Workspace对象上执行某些操作。理解这一点的最佳方式可能是看Josh Smith的MvvmDemoApp以及article,如果你还没有读过它的话。从他实现WorkspaceViewModel的方式开始,因为我认为这可能是方法,或类似的东西,你正在使用Order视图用户控件。 (如果我理解你的话)。