我試着閱讀關於標記擴展的MSDN文章,但是我找不到它們是什麼(本文討論它們的作用)。什麼是標記擴展?
我們是否需要標記擴展,以便XAML知道背後的代碼(否則無法訪問任何內置的類)?但是,我們怎樣才能訪問所有的控件類型?
我無法找到他們爲什麼需要標記擴展的明確解釋。如果我們可以直接訪問控制對象,爲什麼我們需要標記擴展來訪問綁定對象?
我試着閱讀關於標記擴展的MSDN文章,但是我找不到它們是什麼(本文討論它們的作用)。什麼是標記擴展?
我們是否需要標記擴展,以便XAML知道背後的代碼(否則無法訪問任何內置的類)?但是,我們怎樣才能訪問所有的控件類型?
我無法找到他們爲什麼需要標記擴展的明確解釋。如果我們可以直接訪問控制對象,爲什麼我們需要標記擴展來訪問綁定對象?
標記擴展是不是訪問,但通過做任何你想要他們,如創建協會(Binding
,x:Reference
)擴展標記的功能(顧名思義),或者得到一個類(x:Type
)的類型。
它們可以用於任何事情,只有在標記不足以滿足需求的情況下它們纔是必需的。
One way to describe Markup Extension is :
作爲XAML是基於其由於其簡單性可以更詳細簡單的XML語法,因此標記擴展的原因概念之一被引入。
標記擴展可以用於打開XAML的許多行成一個簡潔的表達
<TextBox >
<TextBox.Text>A text in TextBox</TextBox.Text>
</TextBox>
<TextBox Text="{x:Static system:Environment.UserName}" />
而這種後來的語法還提供了一種使用除文字串等的值(新的對象),例如我們的程序集中已經構建的對象或靜態對象。標記擴展是在運行時決定屬性如何設置的對象。
我明白了。那麼我們也可以使用元素語法來編寫綁定,而不是使用標記擴展? – mihajlv 2012-01-02 21:51:29
@mihajlv:當然,您可以在元素語法中編寫每個標記擴展,通常使用括號語法更方便。 – 2012-01-02 21:57:36
我明白了,謝謝。 – mihajlv 2012-01-02 22:02:00