【问题标题】:Caliburn element conventionCaliburn 元素约定
【发布时间】:2010-11-19 18:01:05
【问题描述】:

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

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

查看了 Caliburn 的源代码,但无法真正理解元素约定是什么。

谁能简单介绍一下?

【问题讨论】:

    标签: silverlight caliburn.micro


    【解决方案1】:

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

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

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

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

    这些元素约定允许开发人员在各种情况下提供尽可能多或尽可能少的信息,从而允许框架根据需要填写缺失的细节。

    【讨论】:

    • 您能否将此答案的文本添加到文档中的“所有关于约定”页面,您可以在此处讨论该主题,而无需说出您在此处所说的内容。 (例如,您说“Text”是 TextBox 的“ParameterProperty”,而没有说是由 AddElementConvention() 的第一个或第二个参数指定的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多