2010-11-19 65 views
4

而努力学习的GameLibrary示例应用程序的源,我看到这样一行:卡利元素约定

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

看着卡利的来源,但不能真正理解约定是什么元素。

有人可以简要描述吗?

回答

7

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

  • 在上面提到的情况下,Rating.ValueProperty第一参数值告诉会议系统什么缺省绑定属性是元素。所以,如果我们在Rating控件上有一个约定匹配,我们就建立了与ValueProperty的绑定。

  • 第二个参数表示要在Action绑定中使用的默认属性。因此,如果您创建的动作绑定的ElementName指向Rating控件,但不指定属性,我们将回退到Value属性。

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

这些元素约定允许开发者在各种情况下尽可能多或尽可能少的信息提供,允许框架以填补缺失的细节approptiate。

+0

您可以在文档中的“所有关于约定”页面上添加此答案的文本,您可以在此讨论此主题,而无需说出您在此说的内容。 (例如,在那里你说“Text”是TextBox的“ParameterProperty”,并且永远不会说是否由AddElementConvention()的第一个或第二个参数指定) – 2012-01-11 14:47:56

+0

我创建了一个票据以将其添加到文档。 – EisenbergEffect 2012-01-13 16:30:56

+0

我已按要求将上述说明添加到文档中。 – EisenbergEffect 2012-01-16 22:00:02