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知识点汇总二相关推荐

  1. 深入浅出WPF知识点汇总一

    WPF知识点汇总一 一. XAML简介: 1.WPF专门用来编写表示层的技术和工具 2.WPF的开发理念:数据驱动 3.WPF中设计UI的语言:XAML(读zaml) 4.xmlns名称空间的引用格式 ...

  2. Linux知识点汇总二(NK)

    目录 42. Linux进程间的通信方式有哪些 43. Linux线程间的通信方式有哪些 44. Windows进程间的通信方式有哪些 45. Windows线程间的通信方式有哪些 46. 可以查看某 ...

  3. 数字音视频知识点汇总(二)

    ### AAC格式简介 FFF16040 0A4280FC01 4AF28780 21280991 D5F379C7 1271871D E7B66A4E B352A85B 0A4E3C1E 09479 ...

  4. Linux常用命令及知识点汇总(二)

    目录 1.Linux文件系统 1.1存储结构 1.2挂载点 1.3查看磁盘使用情况 1.4硬连接和符号连接 2.磁盘操作 2.1查看磁盘分区情况 2.2磁盘分区 3.压缩与打包 3.1gzip 3.2 ...

  5. 原生 遍历_细品原生JS从初级到高级知识点汇总(三)

    作者:火狼1 转发链接:https://juejin.im/post/5daeefc8e51d4524f007fb15 目录 细品原生JS从初级到高级知识点汇总(一) 细品原生JS从初级到高级知识点汇 ...

  6. MySQL基础(二)查询语句知识点汇总

    查询语句知识点汇总 一.基础查询 二.条件查询 三.排序查询 四.常见函数 4.1 单行函数 4.1.1 字符函数 4.1.2 数学函数 4.1.3 日期函数 4.1.4 其他函数 4.1.5 流程控 ...

  7. 《深入浅出WPF》笔记——事件篇

    如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...

  8. mysql 事物状态有几种_MySQL知识点汇总:亿级高并发数据库运转原理大公开!

    - 点击上方"中国统计网"订阅我吧!- 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对 ...

  9. java基础知识大全,java 基础知识点汇总

    java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...

  10. python拷贝是什么知识点_python闭包、深浅拷贝、垃圾回收、with语句知识点汇总...

    1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数 ...

最新文章

  1. js new 运算符到底做了什么?
  2. MyBatis-Plus为啥这么牛?
  3. ASP.NET Page执行顺序如:OnPreInit()、OnInit()
  4. 《2019~2020网络安全态势观察报告》重磅发布!
  5. VirtualBox linux 网络设置 Bridged Adapter模式
  6. Java中栈和队列的类
  7. [C/C++] C++中new的语法规则
  8. 【解决idea谷歌翻译失败问题】
  9. 从google code上clone代码出现 couldn't resolve proxy '(null)' while accessing 的解决方法(2012/12/06)
  10. 如何将bmp转化为jpg?
  11. Androidstudio之菜单栏设置
  12. 大道至简 (求道于盲)
  13. QT-通用的软件界面框架,好看且实用
  14. QUIC 协议是如何在蚂蚁集团落地的?
  15. 行为设计学(课前分享)
  16. 怎么把php字幕导入视频,怎么往视频加广告还有字幕 字幕怎么导入视频里|视频字幕制作软件怎么把字幕嵌入视频...
  17. 0504反常积分-定积分
  18. 写策划案需要了解策划案的内容以及撰写原则
  19. android 仿qq好友列表分组效果及联系人分组效果
  20. 能看能听还能摸,这才是真正的裸眼 3D

热门文章

  1. 利用rancher轻松构建pass平台
  2. ArcGIS影像空值填充\插补
  3. Java语言的技术平台:JavaSE、JavaEE和JavaME
  4. 『软件工程10』结构化系统分析:数据流图和字典案例分析
  5. c语言中按位取反 程序,C语言问题,if条件里面按位取反
  6. Python使用freetype渲染显示阿拉伯语
  7. cad线性标注命令_CAD中线性标注的快捷命令是什么
  8. android屏幕共享及远程控制,android屏幕共享及远程控制原理
  9. 视频教程-ArcGIS与CASS在地籍建库中的结合应用-大数据
  10. Python Turtle库详解