Caliburn元素惯例

时间:2010-11-19 18:01:06

标签: silverlight caliburn.micro

在尝试学习GameLibrary示例应用程序的源代码时,我看到了这样的一行:

ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");

查看Caliburn的来源,但无法真正了解哪些元素约定。

有人可以简单描述一下吗?

1 个答案:

答案 0 :(得分:7)

ConventionManager.AddElementConvention允许您为每个类型元素建立约定系统使用的一组“默认”设置。

  • 在上面提到的情况中,Rating.ValueProperty的第一个参数值告诉约定系统该元素的默认可绑定属性是什么。因此,如果我们在Rating控件上有一个约定匹配,我们就会针对ValueProperty设置绑定。

  • 第二个参数表示要在Action绑定中使用的默认属性。因此,如果您使用ElementName创建一个指向Rating控件的操作绑定,但未指定该属性,则会回退到Value属性。

    < / LI>
  • 最后,thrid参数表示控件的默认事件。因此,如果我们将操作附加到评级控件,但未指定事件来触发该操作,系统将回退到ValueChanged事件。

这些元素约定允许开发人员在各种情况下提供尽可能多的信息,允许框架将缺少的细节填入适当的位置。