【问题标题】:How do i do master detail implementation with WPF MVVM and Entity framework我如何使用 WPF MVVM 和实体框架进行主细节实现
【发布时间】:2012-03-13 18:04:37
【问题描述】:

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

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

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

更新:

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

【问题讨论】:

  • 我需要查看此视图​​的 xaml。你有更小的模块吗?你可能已经把它分解得比必要的还要多。能否请您发布项目(甚至缩短)
  • 我的电子邮件地址列在我的个人资料中,你可以谈谈这个,如果你给我发电子邮件,我会给你我的#
  • @Craig Trombly 非常感谢。我去做。我现在正在做的项目使用不同的数据库。我将使用 OMS 数据库创建另一个项目并将该项目通过电子邮件发送给您。
  • 我不需要数据库,因为我不想编译,我只是想看看你的结构如何,以便我可以帮助你。
  • @CraigTrombly 我已将我的代码通过电子邮件发送给您。请看一看。

标签: wpf mvvm entity-framework-4


【解决方案1】:

ViewModel 绑定到您的视图(xaml 和 cs),它不在数据周围。

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

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

【讨论】:

  • 我正在为我的数据使用实体框架。因此我没有任何明确的模型。但是,我的 linq to entity 查询驻留在我的 customerviewModel 中。这是错的吗?
  • 我觉得您正在围绕您的数据创建 ViewModel,而不一定是您的 View。 Model-View-ViewModel 是一种独立于数据模型的模式。您的整个项目都可以访问实体框架,如果您需要执行任何自定义功能 (Linq),那么只需将 database.cs 文件添加到您的项目并在您的 ViewModel 中使用它。
  • 非常感谢您提供的信息。我会按照你解释的方式执行。
  • 在您的 ViewModel 中,为 CollectionView 或 ObservableCollection 创建变量并添加您的 EntityDBEntities dbContent = new EntityDBEntities ();这将允许您进出数据并进行更新。您通过视图模型和 XAML 中的 {Binding var_name} 将变量绑定到 UI
  • 您可能想从 codeplex 中签出 VS 的 MVVM 灯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
相关资源
最近更新 更多