深入浅出WPF知识点汇总二
WPF知识点汇总二
1、布局与控件
1、WPF是数据驱动UI,数据是核心,是主动的;UI是从属于数据表达数据,是被动的。
程序的本质是数据+算法。
2、控件:能够展示数据,响应用户操作的UI元素。 是数据和行为的载体,而无固定形象。
控件的数据内容:控件所展示的数据。
控件的行为:控件响应用户的操作后,执行自己的一些方法或以事件形式通知应用程序。
2、 控件分为六大类:
1、布局控件:可以容纳对个控件或嵌套其它布局控件,用于组织和排列控件。
如:Grid,StackPanel,DockPanel等控件,他们拥有共同的父类Panel.
2、内容控件:只能容纳一个其它控件或布局控件作为其内容。Window、Button
只容纳一个控件,经常借助布局控件来规划其内容。共同父类ContentControl
3、带标题的内容控件:相当于一个内容控件,但可以加标题(Header),
标题部分可容纳一个控件或布局控件, GroupBox,TabItem。
共同父类HeaderContentControl
4、条目控件:显示一列数据,一般情况这些数据的类型相同。ListBox,ComBox.
共同基类:ItemsControl,显示集合类数据
5、带标题条目控件:相当于条目控件加一个标题显示区。TreeViewItem,MenuItem
显示 层级关系数据,结点显示在Headera区域,子级结点显示在条目控件区域
共同基类:HeaderItemsControl
6、特殊内容控件:TextBox容纳的是字符串,TextBlock容纳自由控制格式的文本
Image容纳图片数据类型,这类控件比较独立。
3、内容模型
1、WPF的UI元素类型如下:
1、ContentControl:单一内容控件2、HeaderdContentControl :|带标题的单一内容控件 3、 ItemsControl :以条目集合为内容的控件4、HeaderdItemsControl:带标题的以条目集合为内容的控件5:Decorator :控制装饰元素 6、Panel :面板类元素7、Adorner:文字点缀元素8:Flow Text :流式文本元素 9、TextBox :文本输入框10、TextBlock:静态文字11、Shape :图形元素
2、逻辑树:不考虑控件内部的组成结构,由控件组成的“树”
3、可视元素树:考虑控件内部结构的“树”
4、内容属性:控件通过自己的某个属性引用着作为其内容的对象。
标签的内容:夹在起始标签和结束标签之间的代码
标签的内容区域映射了控件的内容属性
5、 ContentControl族
1.特点:
- 派生自ContentControl类
- 都是控件
- 内容属性的名称为Content
- 只能由单一元素充当其内容
2、包含的控件:
- Button
- ButtonBase
- CheckBox
- ComboBoxItem
- ContentControl
- Frame
- GridViewColumnHeader
- GroupItem
- Label
- ListBoxItem
- ListVIewITEM
- NavigationWindow
- RadioButton
- RepeatButton
- ScrollViewer
- StatusBarItem
- ToggleButton
- ToolTip
- UserControl
- Window
6、 HeaderedContentControl族
1.特点
- 派生自HeaderedContentControl类,HeaderedContentControl类是ContentControl的派生类
- 都是控件,用于显示带标题的数据
- 除了显示主题内容的区域外,控件还有一个显示标题的区域
- 内容属性为Content和Header
- 无论是Content还是Header都只能容纳一个元素作为其内容
2、包含的控件: - Expander
- GroupBox
- HeaderedContentControl
- TabItem
7、ItemsControl族:
1、特点
派生自ItemsControl
都是控件,用于显示列表化的数据
内容属性为content或itemsSource
每一种itemsControl都有自己的条目容器( item container)
2、包含控件Menu
MenuBase
ContextMenu
comboBox
itenscontrol
listbox
listview
tabcontrol
treeview
selector
statusbar
8、HeaderedItemsControl族
1、特点:
派生自HeaderedItemsControl
都是控件,显示列表化数据,同时显示一个标题
内容为Items、ItemsSource、Header
2、包含控件:MenuItem,TreeViewItem,ToolBar
9、Decorator族
1、特点:派生自Decorator
UI装饰作用
内容属性为Child
内容为单一元素
2、包含控件:ButtonChrome
ClassicborderDecorator
ListBoxChrome
SystemDropShadowChrome
Border
InkPresenter
BullentDecorator
viewBox
AdonerDecoretor
10、TextBox与TextBlock: 显示文本textBox:允许编辑,显示简单的字符串,内容属性为Text
TextBlock:不允许编辑,可以使用排版效果,内容属性为InLines。
同时保留Text属性,用于显示简单的字符串
11、Shape族:简单的视觉元素,不是控件。用来在UI上绘制图形的一类元素,
这类元素没有自己的内容,使用FILL属性为其设置填充效果,使用STROKE属性
为其设置边线的效果
1、特点派生自Shape
用于2D图形绘制
无内容属性
使用FILL属性设置填充,使用STROKE属性设置边线
11、Panel族
1、特点:派生自Panel抽象类
控制UI布局
内容属性为child
内容可以是多个元素,Panel元素将控制他们的布局
深入浅出WPF知识点汇总二相关推荐
- 深入浅出WPF知识点汇总一
WPF知识点汇总一 一. XAML简介: 1.WPF专门用来编写表示层的技术和工具 2.WPF的开发理念:数据驱动 3.WPF中设计UI的语言:XAML(读zaml) 4.xmlns名称空间的引用格式 ...
- Linux知识点汇总二(NK)
目录 42. Linux进程间的通信方式有哪些 43. Linux线程间的通信方式有哪些 44. Windows进程间的通信方式有哪些 45. Windows线程间的通信方式有哪些 46. 可以查看某 ...
- 数字音视频知识点汇总(二)
### AAC格式简介 FFF16040 0A4280FC01 4AF28780 21280991 D5F379C7 1271871D E7B66A4E B352A85B 0A4E3C1E 09479 ...
- Linux常用命令及知识点汇总(二)
目录 1.Linux文件系统 1.1存储结构 1.2挂载点 1.3查看磁盘使用情况 1.4硬连接和符号连接 2.磁盘操作 2.1查看磁盘分区情况 2.2磁盘分区 3.压缩与打包 3.1gzip 3.2 ...
- 原生 遍历_细品原生JS从初级到高级知识点汇总(三)
作者:火狼1 转发链接:https://juejin.im/post/5daeefc8e51d4524f007fb15 目录 细品原生JS从初级到高级知识点汇总(一) 细品原生JS从初级到高级知识点汇 ...
- MySQL基础(二)查询语句知识点汇总
查询语句知识点汇总 一.基础查询 二.条件查询 三.排序查询 四.常见函数 4.1 单行函数 4.1.1 字符函数 4.1.2 数学函数 4.1.3 日期函数 4.1.4 其他函数 4.1.5 流程控 ...
- 《深入浅出WPF》笔记——事件篇
如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...
- mysql 事物状态有几种_MySQL知识点汇总:亿级高并发数据库运转原理大公开!
- 点击上方"中国统计网"订阅我吧!- 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对 ...
- java基础知识大全,java 基础知识点汇总
java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...
- python拷贝是什么知识点_python闭包、深浅拷贝、垃圾回收、with语句知识点汇总...
1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数 ...
最新文章
- js new 运算符到底做了什么?
- MyBatis-Plus为啥这么牛?
- ASP.NET Page执行顺序如:OnPreInit()、OnInit()
- 《2019~2020网络安全态势观察报告》重磅发布!
- VirtualBox linux 网络设置 Bridged Adapter模式
- Java中栈和队列的类
- [C/C++] C++中new的语法规则
- 【解决idea谷歌翻译失败问题】
- 从google code上clone代码出现 couldn't resolve proxy '(null)' while accessing 的解决方法(2012/12/06)
- 如何将bmp转化为jpg?
- Androidstudio之菜单栏设置
- 大道至简 (求道于盲)
- QT-通用的软件界面框架,好看且实用
- QUIC 协议是如何在蚂蚁集团落地的?
- 行为设计学(课前分享)
- 怎么把php字幕导入视频,怎么往视频加广告还有字幕 字幕怎么导入视频里|视频字幕制作软件怎么把字幕嵌入视频...
- 0504反常积分-定积分
- 写策划案需要了解策划案的内容以及撰写原则
- android 仿qq好友列表分组效果及联系人分组效果
- 能看能听还能摸,这才是真正的裸眼 3D