Silverlight型別轉換器工作原理

2022-02-10 02:47:50 字數 862 閱讀 3600

xml屬性的值始終是乙個字串,但是物件的屬性可以是任何

.net

型別。因此

xaml

語法解析器需要執行乙個轉換。這個轉換主要通過

type converters完成

,來自完整版

.net

框架的基礎架構的一部分。

本質上,乙個型別轉換器在程式中主要有乙個角色

------

它提供乙個有用的方法,把指定的

.net

資料型別轉換為其他型別或者將其他型別轉換為

.net

的指定型別

。xaml解析器按

以下兩個步驟找到型別轉換器:

1.它檢查屬性的宣告,查詢

typeconverter屬性(

如果存在,

typeconverter

屬性表示哪些類可以執行轉換

)。比如,當你

foreground

屬性時,

.net

檢查foreground

屬性的宣告。

2.如果在屬性宣告中沒有

typeconverter

屬性,xaml

轉換器會檢查對應的資料型別的類的宣告。比如,

foreground

屬性用的是

brush

物件。brush類(

和它的繼承類

)使用了

brushconverter,

因為brush

類用了typeconverter(typeof(brushconverter))

屬性。如果在屬性宣告或類的宣告上沒有相關的型別轉換器,

xaml

解析器將會產生錯誤。

silverlight繫結弱型別資料

最近做silverlight專案的資料繫結遇到這樣乙個問題 就是將讀取的資料通過xml方式繫結給datagrid控制項,讓我頭疼很久,因為silverlight不能繫結實體,而wpf都可以繫結實體。最終得到的的解法給大家分享一下 這是讀取的xml資料 16長江屯 1 3這是前台的silverligh...

mysql型別轉換c 型別轉換 C 型別轉換

一 簡介 型別轉換 把資料從一種型別轉換另一種型別 我們要求等號兩邊參與運算子必須型別一致,如果不一致,滿足下列條件會發生自動型別轉換或者隱式型別轉換。1.兩種型別相容 例如 int和double 相容 都是數字型別 2.目標型別大於源型別 double int 顯示型別轉換 1.兩種型別相相容 i...

java 型別轉換 強制型別轉換

今天在寫乙個demo時,碰到型別轉換問題。發現兩個不相干的class進行強制型別轉換編譯是不會通過的,但是。乙個class到乙個不相干的inte ce強制型別轉換是可以編譯通過的。可能有人感覺知道這沒什麼意義,但是感覺還是記錄下。雖然有自動型別轉換,以及強制型別轉換,但有時強制型別轉換不能通過時,可...