C# 依賴屬性
用戶在對(duì)話框中執(zhí)行的一些操作(如選擇列表項(xiàng))往往會(huì)導(dǎo)致其他控件改變和更新其外觀顯示或內(nèi)容。大多數(shù)情況下,標(biāo)準(zhǔn).NET屬性都是簡(jiǎn)單的設(shè)置器和獲取器,這可能無(wú)法將所做的更改告知給其他控件。依賴屬性(Dependency Property)是一種能夠注冊(cè)到WPF屬性系統(tǒng)中的屬性,據(jù)此可以獲得更多功能。這些功能包括自動(dòng)屬性更改通知,但此外有其他很多好處。具體說(shuō)來(lái),依賴屬性的功能包括:
?可通過(guò)樣式來(lái)更改依賴屬性的值。
?可通過(guò)資源或數(shù)據(jù)綁定來(lái)設(shè)置依賴屬性的值。
?可在動(dòng)畫中更改依賴屬性的值。
?可按層級(jí)結(jié)構(gòu)設(shè)置XAML中的依賴屬性。也就是說(shuō),設(shè)置某個(gè)父元素中依賴屬性的值時(shí),可將該值也作為其子元素中同一個(gè)依賴屬性的默認(rèn)值。
?可通過(guò)明確定義的代碼模式,來(lái)配置屬性值更改通知。
?可配置一系列相關(guān)屬性,其中一個(gè)屬性值改變后,會(huì)自動(dòng)更新其他屬性。這種功能稱為強(qiáng)制(coercion)。這樣的操作通常稱為被更改的屬性強(qiáng)制其他屬性的值發(fā)生變化。
?可對(duì)依賴屬性應(yīng)用元數(shù)據(jù),以便指定其他行為特征。例如,我們可以指定,如果給定的屬性值發(fā)生變化,就自動(dòng)調(diào)整用戶界面。
在實(shí)踐中,由于依賴屬性都通過(guò)特定的方法來(lái)實(shí)現(xiàn),因此我們可能不會(huì)注意到它們與普通屬性有太大的區(qū)別。但當(dāng)我們創(chuàng)建自己的控件時(shí),很快會(huì)發(fā)現(xiàn)在使用普通.NET屬性時(shí),很多功能突然間就消失不見(jiàn)了。
點(diǎn)擊加載更多評(píng)論>>