《深入浅出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比较重要会单独写一篇。

相关推荐
程序猿乐锅35 分钟前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
徐某人..41 分钟前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
AOwhisky1 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
光影少年2 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
sakiko_2 小时前
UIKit学习笔记2-组件嵌套、滚动视图等
笔记·学习·objective-c·swift·uikit
知识分享小能手3 小时前
R语言入门学习教程,从入门到精通,R语言类别比较数据可视化- 完整知识点与案例代码(4)
学习·信息可视化·r语言
蛋白界小百灵3 小时前
纳米抗体技术全解析:从文库构建到亲和力成熟的关键策略
经验分享·科技·学习·健康医疗·业界资讯·卡梅德生物
我是发哥哈4 小时前
主流AI框架生产环境性能对比:5大关键维度深度评测
大数据·人工智能·学习·机器学习·ai·chatgpt·ai-native
nashane4 小时前
HarmonyOS 6学习:RCP远场通信流式返回实战——告别“一次性”数据阻塞
学习·华为·harmonyos
for_ever_love__4 小时前
UI学习:UITableView的基本操作及折叠cell
学习·ui·ios