自定義控制項(2)

2022-02-28 05:17:45 字數 2231 閱讀 5000

自定義伺服器控制項屬性的特性:

bindable

這個特性表示屬性是否可以繫結乙個有效資料來源。通常使用布林值進行設定。例如:bindable(true)。如果使用值true標記屬性,表示該屬性可以繫結乙個有效資料來源,且應引發該屬性的屬性更改通知。

browsable

指定屬性是否應該在屬性瀏覽器中顯示,使用布林值設定。通常情況下,功用屬性和那些希望在屬性瀏覽器中顯示的屬性被設定為 browsable(true),唯讀屬性和那些不希望在屬性瀏覽器中見到的屬性被設定為 browsable(false)。

category

指定顯示在屬性瀏覽器下方,屬性的文字說明。

designerserializationvisibility

指定屬性是否以及如何在**中序列化,其值為designerserializationvisibility的列舉值。存在3種設定方式:designerserializationvisibility(designerserializationvisibility.hidden)指定序列化程式不應該序列化屬性值;designerserializationvisibility(designerserializationvisibility.visible)指定應該允許序列化程式序列化屬性的值;

designerserializationvisibility(designerserializationvisibility.content)指定序列化程式應該序列化屬性的內容,而不是屬性本身。此字段為唯讀。.visible為其預設值。

notifyparentproperty

指示當此特性應用到的屬性的值被修改時將通知其父屬性。換言之,如果屬性的父屬性應該在該屬性值改改時接到通知,則向該屬性應用notifyparentproperty特性。通常使用布林值進行設定。

除了需要熟悉以上設計時特性外,還有一些常用的設計時特性,這些特性宣告於包含屬性的類之前。通常情況下,它們應用於包含子屬性的複雜屬性的類的宣告過程中,因此在宣告複雜屬性過程中意義重大,列舉如下:

parsechildren

使用該特性指示當在頁面上以宣告方式使用控制項時,巢狀在伺服器控制項標記內的xml元素是應該視為屬性還是應視為子控制項。通常情況下,包含兩種宣告方式:①parsechildren(true)表示將子xml元素作為伺服器控制項的子控制項分析;②parsechildren(bool childrenasproperty, string defaultproperty),其中childrenasproperty和方式①中的布林值引數意義相同,defaultproperty定義預設情況下將子控制項分析為伺服器控制項的集合屬性。

persistchildren

該特性指示設計時是否應將伺服器控制項的子控制項作為內部巢狀控制項保持。如果該特性為persistchildren(true),則將伺服器控制項的子控制項作為巢狀伺服器控制項標記保持。如果為persistchildren(false),則將該控制項的屬性作為巢狀元素保持。

persistencemode

指定如何將伺服器控制項屬性或事件保持到asp.net頁面的元資料屬性。共存在4種列舉設定方式:①persistencemode(persistencemode.attribute),指定屬性或事件保持為特性;②persistencemode(persistencemode.encodedinnerdefaultproperty),指定屬性作為伺服器控制項的唯一內部文字而屬性值是html編碼的,只能對字串作這種指定;③persistencemode(persistencemode.innerdefaultproperty),指定屬性在伺服器控制項中保持為內部文字,還指示將該屬性定義為元素的預設屬性,只能指定乙個屬性為預設屬性;④persistencemode(persistencemode.innerproperty),指定屬性在伺服器控制項中保持為巢狀標記,這通常用於複雜物件,它們具有自己的永續性屬性。

defaultproperty

指定伺服器控制項的預設屬性,例如[defaultproperty("myproperty")]。

typeconverter

指定用做此特性所繫結到的物件的轉換器的型別。用於轉換的類必須從typeconverter繼承。使用convertertypename屬性來獲取為該特性所繫結到的物件提供資料轉換的類名。

自定義控制項 2 控制項例項

舉個簡單的例子textview 對於常用的九宮格一般都是textview imageview的樣式,可以直接使用textview並設定drawableright top屬性的 但是有乙個缺點,drawable的寬高無法調整 網上的處理方法都是自定義類繼承textview,並進行一定的處理 但是通常這...

自定義控制項分析2

使用xml和 動態獲取兩種新增屬性的方法。新增屬性使用xml註冊。然後是繼承view使用 public class customtext extends view string text int textcolor int textsize paint paint rect rect public ...

Android自定義控制項(2)

1 設定自定義控制項 android自帶的radiobutton只能存放text,這不符合我們的需求,我們需要乙個可以同時存放key value對應的鍵值。所以我們要編寫乙個自定義控制項能存放key value。設計思路 新建乙個類叫org.kandy.view.radiobutton,繼承自and...