WPF控制元件結構
WPF中控制元件繼承圖
- 我們平時所用的容器如Grid、StackPanel等都是繼承Panel
- 控制元件型別分為3組:內容控制元件、Items控制元件、TextBoxBase
如何理解Content?
凡是繼承ContentControl的控制元件,定義內容為Content,除了TextBlock用text以外,大部分都是用Content設定顯示類容。
一個窗體(容器、控制元件)只能有一個Content,比如
<CheckBox > <CheckBox.Content> <StackPanel Orientation="Horizontal"> <TextBlock Text="❤"/> <TextBlock Text="Hello"/> </StackPanel> </CheckBox.Content> </CheckBox>
以Button為例,如果用Content(是Object型別的),則可以呈現出更為複雜的東西,裡面可以放一個容器,比如:
<Button Width="80" Height="30"> <Button.Content> <StackPanel Orientation="Horizontal"> <TextBlock Text="❤"/> <TextBlock Text="Hello"/> </StackPanel> </Button.Content> </Button>
結果如下:
繼承Control的大部分控制元件具備Padding屬性,TextBlock則單獨實現了內邊距
Margin:外邊距。表示控制元件上下左右離其他控制元件的距離。
Padding:內邊距。比如Button,其Content離Boder的距離就是內邊距。