设计模式下的表达式 Blend 中的示例数据和运行应用程序时的实时数据

Posted

技术标签:

【中文标题】设计模式下的表达式 Blend 中的示例数据和运行应用程序时的实时数据【英文标题】:Sample data in expression Blend while in design mode and live data when running the application 【发布时间】:2011-01-20 16:38:39 【问题描述】:

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

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

所以我的问题是:-

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

我希望以 MVVM 友好的方式不使用 MVVM Light 工具包。

感谢您的宝贵时间...

【问题讨论】:

【参考方案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 经验的设计师(并不多)深入研究并调整设计,以完全按照他们的意愿进行设计。

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

【讨论】:

谢谢。在此之前我一直在尝试谷歌,但运气不佳......我可能没有使用正确的关键字。上面的问题 2 和 3 有什么可以帮助我的吗? 谢谢詹姆斯。您的意见很有帮助。

以上是关于设计模式下的表达式 Blend 中的示例数据和运行应用程序时的实时数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 Javascript 对 Windows 8 Store 应用程序的设计时支持

Visual Studio Blend 2013 中的数据存储和数据源有啥不同?

blend 2012 - 不要在后台运行整个应用程序

Expression Blend 2 中 Silverlight 控件的设计时渲染

Silverlight & Blend动画设计系列十二:三角函数(Trigonometry)动画之自由旋转(Free-form rotation)

为 Blend 和 VS 提供设计时 ViewModel 数据