天天看點

Silverlight 5 beta新特性探索系列:8.Silverlight 5中自定義擴充标記

在silverlight 5中新增了自定義擴充标記,它通過繼承于 markupextension 類,重載該類中的providevalue方法以判斷得到相應的傳回值,以設定被綁定控件的屬性。

下面我們通過一個最為簡單的執行個體來了解自定義擴充标記是如何工作的。

第一步:建立一個usermarkextension.cs類,注意usermark(擴充标記名)+extension.cs(固定的字尾)=usermarkextension.cs

第二步:設定3個可被通路的屬性标簽lbtext,lbwidth,rcradius

第三步:重載prividevalue函數,設定傳回的屬性值,

三個步驟的usermarkextension.cs類代碼如下:

第四步:為需要設定自定義擴充标記的控件設定{local:usermark lbtext=text},其含義為設定定制擴充标記local:usermark,其屬性lbtext的值為text,根據此值可以查詢自定義擴充标記中prividevalue函數,于是得到傳回值“我是一個text”。同理綁定其他屬性值!現在我們看mainpage.xaml的代碼如下:

在本執行個體中我們僅僅是最簡單的示範了自定義擴充标記的使用方法和運作原理,個人覺得這個功能将會對mvvm的支援非常有益,大家可以試着擴充一下。

Silverlight 5 beta新特性探索系列:8.Silverlight 5中自定義擴充标記