WPF學習之路(二) XAML 續

2022-05-17 18:56:45 字數 1769 閱讀 1314

屬性

簡單屬性

前面用到的width/height都是簡單屬性,其賦值一定要放到雙引號裡

xaml解析器會根據屬性的型別執行隱式轉換

與c#的區別

solidbrush.color = colors.aliceblue;

c#中有的列舉型別可以用(|)運算子組合,在xaml中用(,)分隔

附加屬性

附加屬性可以用於多個控制項,但是在另外乙個類中定義的屬性,在wpf中常常用於布局

如dockpanel.dock="left" 也可以使用下面的形式

left

content屬性

有以下幾種寫法

hello wpf

hello wpf

content中不能有其他資訊,textblock的content例外,可以放置加粗和斜體標籤

hello ,

xaml

自定義控制項也可以新增content屬性

[contentproperty("text")]

public class book  //.. }

hello wpf

型別轉換器

xaml中的字串通過型別轉換器變成clr物件

自定義型別轉換器

public class book

[typeconverter(typeof(moneyconverter))]

public class moneytype

public moneytype(double value)

public override string tostring()

public static moneytype parse(string value)

else}}

public class moneyconverter : typeconverter

public override bool canconvertto(itypedescriptorcontext context, type destinationtype)

public override object convertfrom(itypedescriptorcontext context, system.globalization.cultureinfo culture, object value)

public override object convertto(itypedescriptorcontext context, system.globalization.cultureinfo culture, object value, type destinationtype)

}canconvertfrom\canconvertto\convertfrom\convertto這四個方法需要重寫

標記擴充套件

xaml有以下情況無法支援

1.將屬性賦值為null

2.將屬性賦值給已經靜態變數

不同於型別轉換器的隱式轉換,標記擴充套件通過顯示的語法呼叫實現

在xaml中只要屬性被{}括起來,會被認為是乙個標記擴充套件。

將屬性賦值為null

將屬性賦值給已經靜態變數

如果想顯示的字串中有{} ,在字串前新增乙個{}

xaml不止可以應用於wpf

to be continue...

WPF學習之路(二) XAML

在wpf中引入了xaml語言,主要用於介面設計,業務邏輯則使用c 實現後台 將介面設計與業務邏輯分離 xaml是一種宣告式語言,類似xml html 示例 hello xaml 這是乙個普通的button hello xaml 在面板 dockpanel 視窗中有兩個button xaml有兩個重要...

WPF學習之二 XAML學習

wpf學習之二 xaml學習 一 什麼是xaml?二 xaml中的元素 xml中的每個通過尖括號括起來的標記都稱之為元素,xaml是基於xml產生的,因此對於這些標記,在xaml中也稱之為元素。但是xaml中的元素種類有很多,下面將分類闡述。下面先給出一段 然後針對這段 講述各種元素。click 1...

學習WPF 了解WPF中的XAML

xaml的簡單說明 xaml是用於例項化.net物件的標記語言,主要用於構建wpf的使用者介面 xaml中的每乙個元素都對映為.net類的乙個例項,例如對映為wpf的button物件 xaml可以在乙個元素中巢狀另乙個元素,例如grid元素可以巢狀button元素 了解xaml visualstud...