2010-11-19 66 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