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

相关推荐
吃好睡好便好2 分钟前
博客等级升级啦
学习
小新同学^O^4 分钟前
简单学习 --> Spring事务
数据库·学习·spring
ECT-OS-JiuHuaShan26 分钟前
彻底定理化:从量子纠缠到量子代谢
数据库·人工智能·学习·算法·生活·量子计算
没什么本事33 分钟前
关于C# panel 添加lable问题 -- 明确X和Y 位置错误
android·java·c#
小陈phd1 小时前
多模态大模型学习笔记(四十)——从“看字”到“懂结构”:版面分析与表格解析技术全解
笔记·学习
xuhaoyu_cpp_java1 小时前
SpringMVC学习(二)
java·经验分享·笔记·学习·spring
知识分享小能手2 小时前
R语言入门学习教程,从入门到精通,R语言日期和时间序列(6)
开发语言·学习·r语言
火星papa2 小时前
C# 实现平滑流畅的进度条ProgressBar
c#·进度条·progressbar·平滑流畅
噜噜噜阿鲁~2 小时前
python学习笔记 | 9.2、模块-安装第三方模块
笔记·python·学习
南境十里·墨染春水3 小时前
linux学习进展 守护进程
linux·服务器·学习