当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/426706.html

相关文章:

  • 二叉树的判断
  • Hive3:常用的内置函数
  • 设计模式---构建者模式(Builder Pattern)
  • Pytorch中transform的应用
  • okular阅读软件简介
  • 【书生大模型实战营(暑假场)闯关材料】基础岛:第1关 书生大模型全链路开源体系
  • 掌握抽象工厂模式:打造灵活且强大的跨平台产品族
  • 【Hadoop】建立圈内组件的宏观认识(大纲版)
  • NFS主从同步Rsync、sersync2
  • uniapp项目中,在原有数据中增加选中的状态,数据不改变
  • WPF自定义控件
  • Java中的全局异常处理器 -- GlobalExceptionHandler
  • R语言文本挖掘-万字详细解析tm包
  • JWT中的Token
  • 苹果在iOS 18.1中向第三方开发者开放iPhone的NFC芯片
  • 系统开发之禁止卸载应用名单
  • wait 和 notify
  • docker 启动 mongo,redis,nacos.
  • Docker Swarm 搭建
  • 浅述TSINGSEE青犀EasyCVR视频汇聚平台与海康安防平台的区别对比
  • 设计模式系列:策略模式的设计与实践
  • 数据挖掘之数据预处理
  • RocketMQ核心知识点整理,值得收藏!
  • 微信小程序骨架屏
  • Window下node安装以及配置
  • 校园疫情防控系统--论文pf
  • 在Debian 9上使用Apt安装Java的方法
  • 人工智能在网络安全中的三大支柱
  • rk3568mpp终端学习笔记
  • 【C++继承】赋值兼容转换作用域派生类的默认成员函数