如何掌握WPF MVVM和实体框架的详细实现

如何掌握WPF MVVM和实体框架的详细实现,wpf,mvvm,entity-framework-4,Wpf,Mvvm,Entity Framework 4,我有四个实体客户、产品、订单和订单详细信息。在我的WPF窗口中,我有显示客户名称的客户列表框,在选择客户时,我希望填充订单列表框,该列表框也在我的窗口中 因为我使用的是MVVM,所以我应该有两个视图模型,一个用于客户,另一个用于订单,对吗?我应该将customer传递给orderview模型,以便它可以填充orderview 如何将所选客户传递给订单视图模型?我在customer上有一个名为selected item的属性,但我仍然不知道如何在订单视图模型中获得它 更新: @Craig Trom

我有四个实体客户、产品、订单和订单详细信息。在我的WPF窗口中,我有显示客户名称的客户列表框,在选择客户时,我希望填充订单列表框,该列表框也在我的窗口中

因为我使用的是MVVM,所以我应该有两个视图模型,一个用于客户,另一个用于订单,对吗?我应该将customer传递给orderview模型,以便它可以填充orderview

如何将所选客户传递给订单视图模型?我在customer上有一个名为selected item的属性,但我仍然不知道如何在订单视图模型中获得它

更新:


@Craig Trombly我已经创建了order实体的ObservableCollection,并且在绑定到Xaml的视图模型上拥有属性。我正在实现主细节行为,如选择客户填充我的订单列表框。为此,我需要在我的客户视图模型上有一个属性,并将该属性绑定到customerView Xaml列表框中的selectedItem。我将该属性命名为selectedItem。但是,每当我试图从orderview模型访问该选定项属性时。它不起作用。你能告诉我我做错了什么吗?每次我在“客户”视图的列表中选择新项目时,都应设置“客户”视图模型中的selectedItem属性。它也没有这样做。

ViewModel与您的视图(xaml&cs)相关联,它不围绕数据

例如,MainWindow.xaml&cs应该有一个MainWindowViewModel.cs


在视图中使用一个ViewModel。我建议对您的数据使用实体框架。

我正在对我的数据使用实体框架。因此,我没有任何明确的模型。但是,我的linq到实体查询驻留在我的CustomerServiceWModel中。这是错误的吗?我觉得您是在围绕数据创建ViewModel,而不一定是针对您的视图。模型视图视图模型是一种与数据模型分离的模式。整个项目都可以访问实体框架,如果需要执行任何自定义功能(Linq),只需将database.cs文件添加到项目中并在ViewModel中使用即可。非常感谢您提供的信息。我将按照您解释的方式实现。在ViewModel中,为CollectionView或ObservableCollection创建变量,并添加EntityDBEntities dbContent=new EntityDBEntities();这将允许您输入和输出数据,甚至可以进行更新。您可以通过viewmodel和xaml中的{Binding var_name}将变量绑定到UI。您可能希望从codeplex中签出VS的MVVM指示灯。我需要查看此视图的xaml。你们所有的东西都在小模块里吗?你可能把它弄坏了。你能发布这个项目吗(甚至缩短)我的电子邮件地址列在我的个人资料中,你可能想通过我的个人资料进行讨论,如果你给我发电子邮件,我会给你我的#@Craig Trombly,非常感谢。我会的。我现在正在处理的项目使用不同的数据库。我将用OMS数据库创建另一个项目,并通过电子邮件将项目发送给您。我不需要数据库,因为我不想编译,我只想看看它的结构如何,以便我可以帮助您。@CraigTrombly我已通过电子邮件将我的代码发送给您。请看一看。