8. 控件的介绍

WPF学习目录

控件

是数据和行为的载体,没有固定的形象。

控件关注的是抽象的数据和行为。

常用的控件分为6类

1.布局控件:可容纳多个控件或嵌套其他布局控件,用于UI组织和排列控件,共同的父类为Panel

2.内容控件:只能容纳一个其他控件或布局控件作为内容,经常需要使用布局控件来容纳其他内容共同的父类为 ContentControl

3.带标题的内容控件:可以加一个标题的内容控件,标题部分可容纳一个控件或者布局共同父类为HeaderedContentControl

4.条目控件:显示一列数据,一般情况下,这列数据的类型相同共同的基类是 ItemsControl

5.带标题的条目控件:可以加一个标题的条目控件,标题部分可容纳一个控件或者布局,用于显示层级关系数据共同父类为 HeaderedItemsControl

6.特殊内容控件:TextBox容纳字符串,TextBlock容纳可自由控制格式的文本,Image容纳图片类型的数据

内容模型

UI 元素类型

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

ContentControl族

包含的控件:

BUttonButtonBaseCheckBoxComboBoxItemContentControlFrameGridViewColumnHeaderGroupItemLabelListBoxItemListViewItemNavigationWindowRadioButtonRepeatButtonScrollViewerStatusBarItemToggleButtonToolTipUserControlWindow

特点:
1.都是 ContentControl 的子类
2.都是控件
3.内容属性都是Content
4.只能由单一元素充当内容

HeaderedContentControl族

包含的控件:

ExpanderGroupBoxHeaderedContentControlTabItem

特点:
1.都是 HeaderedContentControl 的子类,HeaderedContentControlContentControl的子类
2.都是控件,除了一个内容区域还有一个显示标题的区域
3.内容属性是 ContentHeader
4.ContentHeader都只能由单一元素充当内容

ItemsControl 族

包含的控件:

MenuMenuBaseContextMenuComboBoxItemsControlListBoxLiatViewTabControlTreeViewSelectorStatusBar

特点:
1.都是 ItemsControl  的子类
2.都是控件,用于显示列表化的数据
3.内容属性是 Items 或 ItemsSource
4.每种 ItemControl 都对应有自己的条目容器 (Item Container)

HeaderItemsControl 族

包含的控件:

MenuItemToolBarTreeViewItem

特点:
1.都是 HeaderItemsControl 的子类
2.都是控件,用于显示列表化的数据,并可以显示一个标题
3.内容属性是 ItemsItemsSourceHeader
4.每种 ItemControl 都对应有自己的条目容器 (Item Container

Decorator 族

包含的控件:

ButtonChromeClassBorderDecoratorListBoxChromeSystemDropShadowChromeBorderInkPresenterBulletDecoratorViewBoxAdornerDecorator

特点:
1.都是 Decorator 的子类
2.起 UI 装饰作用,如用 Border 为内容添加一个边框
3.内容属性是 Child
4.只能由单一元素充当内容

TextBlock 和 TextBox

均是显示文本。

TextBlock 只显示文本,不能编辑,但是格式控制灵活,内容属性为 Inlines,同时保留一个显示简单字符串的内容属性 Text

TextBox 则允许用户编辑内容,内容属性为Text

Shape 族

用来 UI 绘图的一类元素,没有自己的内容,可以使用 Fill 属性为它们设置填充效果

特点:
1.都是 Shape 的子类
2.用于 2D 图形绘制
3.无属性内容
4.使用 Fill 属性设置填充,使用 Stroke 属性设置边线

Panel 族

包含的控件:

CanvasDockPanelGridTabPanelToolBarOverflowPanelStackPanelToolBarPanelUniformGridVirtualizingPanelVirtualizingStackPanelWrapPanel

特点:
1.都是 Panel子类
2.主要是用于 UI 布局
3.内容属性为 Children
4.内容可以是多个元素,Panel 元素将控制它们的布局

WPF学习目录

posted @   x_amos  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示