控件篇

 

日常使用最多的控件有6类:

1. 布局控件:可以容纳多个控件或嵌套其他布局控件,例如Grid、StackPanel、DockPanel等,有共同的父类Panel

2. 内容控件:只能容纳一个其他控件或布局控件作为它的内容,例如Window、Button等,有共同的父类ContentControl

3. 带标题内容控件:相当于一个内容控件,但是可以加一个标题,例如GroupBox、TabItem等,有共同的父类HeaderedContentControl

4.条目控件:可以显示一列数据,例如ListBox、ComboBox有共同的父类ItemsControl

5.带标题条目控件:相当于条目控件加一个标题,例如TreeViewItem、MenuItem,有共同的父类HeaderedItemsControl

6.特殊内容控件:相对比较独立,功能不同,例如TextBox、TextBlock、Image

控件的内容可以是数据,也可以是其他控件,如果不考虑控件内部的组成结构,只观察由控件组成的树,那么这棵树就成为逻辑树,如果连控件本身的树也考虑在内,那这棵树就是可视元素树

 

WPF的UI元素的类型
名称 注释
ContentControl 单一内容控件
HeaderedContentControl 带标题的单一内容控件
ItemsControl 以条目集合为内容的控件
HeaderedItemsControl 带标题的以条目集合为内容的控件
Decorator 控件装饰元素
Panel 面板类元素
Adorner 文字点缀元素
Flow Text 流式文本元素
TextBox 文本输入框
TextBlock 静态文字
Shape 图形元素

各类内容模型详解

1.ContentControl

本族元素特点如下:

1)均派生于ContentControl类

2)都是控件

3)内容属性名称为Content

4)只能由单一元素填充

ContentControl族包含的控件
Button ButtonBase CheckBox ComboBoxItem
ContentControl Frame GridViewColumnHeader GroupItem
Label ListBoxItem ListViewItem NavigationWindow
RadioButton RepeatButton ScrollViewer StatusBarItem
ToggleButton ToolTip UserControl Window

2.HeaderedContentControl

本族元素特点如下:

1)均派生于HeaderedContentControl类,HeaderedContentControl是ContentControl的派生类

2)都是控件

3)除了显示主体内容外,还具有一个显示标题的区域

4)内容属性为Content和Header

5)Content和Header都只能容纳一个元素

HeaderedContentControl族包含的元素
Expander GroupBox HeaderedContentControl TabItem

3.ItemsControl

本族元素特点如下:

1)均派生于ItemsControl类

2)都是控件

3)内容属性为Items或ItemsSource

4)每个ItemsControl都对应有自己的条目容器

ItemsControl族所包含的控件
Menu MenuBase ContextMenu ComboBox
ItemsControl ListBox ListView TabControl
TreeView Selector StatusBar  

4.HeaderedItemsControl

本族元素特点如下:

1)均派生于HeaderedItemsControl类

2)都是控件

3)内容属性为Items、ItemsSource、Header

HeaderedItemsControl族所包含的控件
MenuItem TreeViewItem ToolBar

 

5.Decorator

本族元素特点如下:

1)均派生于Decorator类

2)起UI装饰作用

3)内容属性为Child

4)只能由单一元素充当内容

Decorator族元素
ButtonChrome ClassicBorderDecorator ListBoxChrome SystemDropShadowChrome
Border InkPresenter BulletDecorator ViewBox
AdornerDecorator      

6.TextBlock和TextBox

TextBlock只能显示文本,不能编辑,所以又称静态文本,TextBox允许用户编辑,TextBlock虽然不能编辑,但可以使用丰富的印刷级格式控制标记显示专业的排版效果,TextBox的内容属性是Text,TextBlock的内容属性是Inlines,也保留了一个Text的内容属性,用于显示简单的字符串

7.Shape

本族元素特点如下:

1)均派生于Shape类

2)用于绘制2D图形

3)无内容属性

4)使用Fill属性填充,使用Stroke属性设置边线

8.Panel

本族元素特点如下:

1)均派生于Panel类

2)用于控制UI布局

3)内容属性为Children

4)内容可以是多个元素

Panel族元素
Canvas DockPanel Grid TabPanel
ToolBarOverflowPanel StackPanel ToolBarPanel UniformGrid
VirtualizingPanel VirtualizingStackPanel WrapPanel  

 

你可能感兴趣的:(UI,Decorator,header,WPF,图形,textbox)