繁体   English   中英

在 WP7 中使用 Caliburn.Micro 和 Expression Blend

[英]Using Caliburn.Micro with Expression Blend in WP7

我只是使用 Caliburn.Micro 作为 MVVM 框架创建了一个小的 WP7 项目,但我不确定让项目与 Expression Blend 或 Visual Studio 设计器一起工作的最佳方法。

人们如何使用 Calibun.Micro 进行设计? 我是否最好忽略约定并使用传统的绑定机制,以便 Blend 能够理解这些视图? 有什么方法可以将 Caliburn 绑定逻辑导入 Blend 以便它识别约定?

目前,我的所有视图都显示为空控件,我需要运行应用程序以了解事物的外观。 我认为我错过了一种更好的方法。

**更新:带有约定的设计数据现在已内置到 CM 中。 http://caliburnmicro.codeplex.com/SourceControl/changeset/changes/c5cac07cd755 http://mnajder.blogspot.com/2011/09/design-time-support-for-caliburnmicro.html

我一直在使用 MVVM Light 的 ViewModelLocator 并扩展 CM 的屏幕 class 添加 IsInDesignMode 属性。 CM 当然会忽略任何绑定集的约定,但对于拥有模拟数据的设计师来说,这是一个不错的交易。

“有没有办法将 Caliburn 绑定逻辑导入到 Blend 中,以便它识别约定?”

是来自 CM 讨论的帖子。

不幸的是,你知道所有要知道的。 我试图向 Blend 团队解释这些场景,以便我们可以在产品中获得适当的可扩展性挂钩,以使约定在设计时起作用,但它们只是很难理解。 他们不跟进事情,他们在微软内部是一个非常“封闭”的群体。 Silverlight 和 WPF MVP 不一定可以直接访问它们。 你必须是一个 Blend MVP。 那些往往大多是设计师,很少有人了解更大规模的开发,甚至了解惯例可以为简单项目带来的好处。 这样做可能是可能的,但它需要大量非常痛苦的工作,并且可能会在 Blend 的下一个版本中中断。 那里的可扩展性 API 没有很好的文档记录。 然后,还有一个问题是让它在 Visual Studio 中也能正常工作。 目前,我没有时间或耐心尝试提出一些建议。 这是一个很棒的地方,社区的贡献会产生巨大的影响。 我会在可能的情况下继续骚扰 Blend 团队。 但是,我猜他们还有其他顾虑。

我相信 Rob 在这个听力密码一集中谈到了这一点。

不是一个演示,但我在这段代码中使用了 MVVM Light 的 ViewModelLocator 来模拟 CM 应用程序中的一些数据。

目前,我的方法是使用 Blend 中 Class 功能中的示例数据,根据我的视图 Model 生成设计时数据。

你说得对,这确实意味着我没有充分利用 Caliburn 的基于约定的绑定。 但是,我仍然将它用于不需要设计时体验的元素以及围绕 Actions 的约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM