2010-11-23 92 views
0

我有我的解决方案如下项目/组件:WPF数据绑定:如何在解决方案中组织项目和类?

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

这就是我希望做的:

我要使用从Core组件AccountController类从SQL Server获取所有帐户和把它们放在一些列表中。然后,我想用数据绑定列表框AccountWindow与该帐户列表。

我的问题:

  1. 我应该在哪里放置帐户中的名单,在AccountWindowController或 别的地方?
  2. 该列表是否应该是ObservableCollection
  3. 我是否需要账户清单?
  4. 当数据绑定时,我应该从Gui.Controller还是 Entities类创建一个Window.Resource

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

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

回答

0

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

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

+0

Tomislav,非常感谢您的回答,我很感激。 我希望在Gui.Controller中存储已检索帐户的已填充列表。请你详细介绍一下替代方法,将列表框绑定到Gui.Controller的一部分的方法?如果你可以通过一些虚拟示例或伪代码来解释它,那将是非常好的。再次感谢您的回答。 – Boris 2010-11-23 15:36:48

相关问题