控件篇

 

日常使用最多的控件有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族包含的控件
ButtonButtonBaseCheckBoxComboBoxItem
ContentControlFrameGridViewColumnHeaderGroupItem
LabelListBoxItemListViewItemNavigationWindow
RadioButtonRepeatButtonScrollViewerStatusBarItem
ToggleButtonToolTipUserControlWindow

2.HeaderedContentControl

本族元素特点如下:

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

2)都是控件

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

4)内容属性为Content和Header

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

HeaderedContentControl族包含的元素
ExpanderGroupBoxHeaderedContentControlTabItem

3.ItemsControl

本族元素特点如下:

1)均派生于ItemsControl类

2)都是控件

3)内容属性为Items或ItemsSource

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

ItemsControl族所包含的控件
MenuMenuBaseContextMenuComboBox
ItemsControlListBoxListViewTabControl
TreeViewSelectorStatusBar 

4.HeaderedItemsControl

本族元素特点如下:

1)均派生于HeaderedItemsControl类

2)都是控件

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

HeaderedItemsControl族所包含的控件
MenuItemTreeViewItemToolBar

 

5.Decorator

本族元素特点如下:

1)均派生于Decorator类

2)起UI装饰作用

3)内容属性为Child

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

Decorator族元素
ButtonChromeClassicBorderDecoratorListBoxChromeSystemDropShadowChrome
BorderInkPresenterBulletDecoratorViewBox
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族元素
CanvasDockPanelGridTabPanel
ToolBarOverflowPanelStackPanelToolBarPanelUniformGrid
VirtualizingPanelVirtualizingStackPanelWrapPanel 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值