【问题标题】:WPF Data binding: How to organize projects and classes in a solution?WPF 数据绑定:如何在解决方案中组织项目和类?
【发布时间】:2011-05-14 12:57:52
【问题描述】:

我的解决方案中有以下项目/程序集:

  1. 实体;它是一个包含两个类的类库:AccountAccountDetailAccount 类有一个属性 Details,它的类型是 ObservableCollection<AccountDetail>,我用它来存储帐户对象的详细信息。
  2. 核心;它是一个包含一个类的类库:AccountController,其目的是从 Sql Server 获取数据并填充 Account 对象(以及其中的 AccountDetail 集合)。
  3. ;这是一个 WPF 应用程序项目,其中包含一个名为:AccountsWindow 的 WPF 表单,其目的是显示从 Sql Server 检索到的所有帐户的列表
  4. Gui.Controller;它是一个包含一个类的类库:AccountWindowController,它应该是来自Core 程序集的AccountController 和来自Gui 程序集的AccountsWindow 之间的“桥梁”,并协助处理数据捆绑。 (我不确定我是否需要这个程序集。)

这是我想做的:

我想使用 Core 程序集中的 AccountController 类从 Sql Server 获取所有帐户,并将它们放在某个列表中。然后,我想将AccountWindow 中的列表框与该帐户列表进行数据绑定。

我的问题:

  1. 我应该将帐户列表放在哪里,AccountWindowController 或 其他地方?
  2. 该列表应该是ObservableCollection 类型吗?
  3. 我是否需要该帐户列表?
  4. 当数据绑定时,我应该从Gui.Controller创建一个Window.Resource还是 Entities 上课?

我知道这是要阅读的大量文本,但我的问题非常简单,因为我是 WPF 的新手,任何帮助都将不胜感激。谢谢!

更新:我的痛苦还在继续here。干杯!

【问题讨论】:

    标签: wpf data-binding code-organization project-organization


    【解决方案1】:

    看来您的 Gui 将成为客户端,并将引用其他 3 个程序集。 Gui.Controller 将引用 Core 和 DataEntities,Core 将仅引用 DataEntities。

    AccountController 应该获取列表并将其返回给 Gui.Controller。如果列表是 ObservableCollection 就好了。列表本身应该放在 Gui 或 Gui.Controller 中,这取决于您是否可以从 Gui 访问 Gui.Controller 的属性。 当您将 ListBox 放入将放置在 Gui 中的 Window 中时,您需要将其绑定到一个集合。该集合可以是 Window 的一个属性。或者您可以将它绑定到一个方法,该方法可以是 Gui.Controller 的一部分。这真的取决于你想如何组织它。

    【讨论】:

    • 托米斯拉夫,非常感谢您的回答,非常感谢。我希望将检索到的帐户的填充列表存储在 Gui.Controller 中。您能否详细说明将列表框绑定到 Gui.Controller 的一部分的方法的替代方法?如果您可以通过一些虚拟示例或伪代码来解释它,那就太好了。再次感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    相关资源
    最近更新 更多