2

我有一个服务,它返回一个可观察的人员集合,这些人员将用于在我的 Silverlight 应用程序的列表框中显示人员姓名。

在设计列表框时,设计者使用了示例数据。但是,当 xaml 到达开发人员处理视图模型和返回要显示的可观察人员集合的服务时,需要进行一些更改。例如删除与示例数据的所有绑定,插入可观察的集合人员属性。

所以我的问题是: -

  1. 有没有办法在设计模式下显示示例数据并在运行时显示服务数据?
  2. 有没有办法让它在设计模式下返回服务数据?
  3. 使用 Expression Blend 的设计者是否需要知道可观察集合 {persons} 的哪些属性将绑定到列表框?

我想以一种 MVVM 友好的方式{不使用 MVVM Light 工具包}来做到这一点。

谢谢你的时间...

4

1 回答 1

1

那里有很多很好的例子:

http://blogs.msdn.com/b/avip/archive/2010/12/06/the-simplest-way-to-do-design-time-viewmodels-with-mvvm-and-blend.aspx

http://karlshifflett.wordpress.com/2009/10/28/ddesigninstance-ddesigndata-in-visual-studio-2010-beta2/

这很简单。如果你需要的话,谷歌上还有很多其他资源

根据评论编辑

2. 有没有办法让它在设计模式下返回服务数据?

有可能,但我没见过。在我看来,出于多种原因,您可能不想这样做。

  • 在您的数据显示之前,您可能会遇到延迟,如果您需要进行大量小的更改,这可能会非常令人沮丧。
  • 您依赖于可用的服务,如果它们出现故障,您将变得更加低效。
  • 您或设计人员无法控制临时更改显示的内容。至少使用示例数据系统,您可以更改值以测试不同的场景,而无需更改服务数据。

3. 使用 Expression Blend 的设计者是否需要知道可观察集合 {persons} 的哪些属性将绑定到列表框?

设计人员/开发人员的工作流程是一个棘手的工作。显然每个项目都会有所不同,但刚刚完成了一个设计繁重的 wpf 项目,我可以告诉你,我们的设计师希望尽可能少地使用 Blend。

对我们有用的工作流是为开发人员(我们有一个在视图/视图模型级别工作的前端团队和一个构建模型和服务层的后端团队)尽可能地构建视图。这意味着构建布局、组合控件、添加大部分设计并连接绑定。然后,我们让一位有使用 Blend 经验的设计师(并不多)深入研究并调整设计,以完全按照他们的意愿进行设计。

这样一来,他们与主要的工作几乎没有关系,我们可以保持干净和有条理的视图(很少有设计师有经验这样做)。设计者并不需要真正了解领域对象。一旦我们弄清楚它是如何工作的,这一切都很好。在我看来,让设计师自己建立视图将是一场噩梦……而且他们也不会喜欢。

于 2011-01-20T16:51:46.693 回答