《深入浅出WPF》读书笔记.5控件与布局(上)

《深入浅出WPF》读书笔记.5控件与布局(上)

背景

深入浅出WPF书籍学习笔记附代码。WPF中数据是核心是主动的,UI是数据的表达是被动的。

程序的本质是数据+算法;控件的本质是数据+行为;

5.控件与布局

一、6类控件派生关系

1.布局控件:可以容纳多个控件或者嵌套其他布局控件,用于UI组织和排列控件。Grid、StackPanel等等,拥有共同父类panel;

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

3.带标题的内容控件:相当于带有一个标题的内容控件,内容控件亦可容纳一个布局或者控件。GroupBox、TabItem等等,共同父类HeaderedContentControl;

4.条目控件:可以显示一列数据,一般情况下这列数据的数据类型相同。此类控件包括ListBox、ComboBox等等,共同父类ItemsControl;

5.带标题条目控件:相当于一个条目空间上加上标题显示区,TreeViewItem、MenuItem等等,共同父类HeaderItemsControl;

6.特殊内容控件:TextBox、TextBlock、Image等等;

FrameworkElement在.net Framework的基础上封装了很多WPF的专属Api;

二、ContentControl族

特点

·共同父类ContentControl

·都是控件

·内容属性名称为Content

·只能由单一元素充当其内容

三、HeaderedContentControl族

特点

·共同父类HeaderedContentControl,HeaderedContentControl是ContentControl类的派生类

·除主体内容区域内,控件还有一个显示标题区域

·内容为Content和Header,都只能容纳一个元素作为其内容

四、ItemControl族

特点

·共同父类ItemControl

·内容属性为Items和ItemsSource

`每种ItemsControl都有自己的条目容器

ListBox的SelectedValuePath和DisplayMemberPath

DisplayMemberPath:将数据源的对象值封装到TextBlock中,再包装进ListBoxItem

五、HeaderedItemsControl族

相比ItemsControl多了个标题

六、Decorator族类

·均派生自Decorator类别

·起Ui装饰作用

·内容属性为Child

·只能由单一元素充当内容

七、Shape族元素

八、Panel族元素

特点

·共同父类Panel

·主要功能是控制UI布局

·内容属性为Children

·内容可以是多个元素,Panel元素将控制他们的布局

ItemsControl强调以列表布局,panel则是对元素进行布局


panel比较重要会单独写一篇。

相关推荐
LuH11245 分钟前
【论文阅读笔记】Learning to sample
论文阅读·笔记·图形渲染·点云
兔C10 分钟前
微信小程序的轮播图学习报告
学习·微信小程序·小程序
海海不掉头发17 分钟前
苍穹外卖-day05redis 缓存的学习
学习·缓存
fkdw43 分钟前
C# Newtonsoft.Json 反序列化派生类数据丢失问题
c#·json
小木_.1 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】组件结构设计、主题切换
前端·笔记·学习·编辑器
犬余2 小时前
设计模式之桥接模式:抽象与实现之间的分离艺术
笔记·学习·设计模式·桥接模式
啊瞑3 小时前
学习记录:配置mybatisplus的分页查询插件,mybatis-plus-jsqlparser 依赖
学习
码到成龚3 小时前
SQL server学习09-数据库编程(上)
数据库·学习
数据爬坡ing3 小时前
小白考研历程:跌跌撞撞,起起伏伏,五个月备战历程!!!
大数据·笔记·考研·数据分析