WPF学习(3) – WPF控件
控件可以根据它们所对应的继承关系分成 4 个不同的种类:
- 内容控件
- Items 控件
- Range 控件
- 文本和墨水控件
1. 内容控件
内容控件是只允许包含单一项(item)的简单控件。内容控件都继承自System.Windows.Controls.ContentControl,它们拥有只含有一项的Object 类型的Content 属性
WPF 自带的内容控件有3 大种类:
- 按钮
- 简单容器
- 带头(header)的容器
1.1 按钮
按钮控件完全继承自 ButtonBase 类,这些控件是:
- Button
- RepeatButton, 会在按钮一直被按着的情况下触发点击事件
- ToggleButton,
第1 次点击它的时候,IsChecked 属性会被设为true;再点击一次,就被设为了false.
ToggleButton 还有一个IsThreeState 属性,如果把它设为true 的话,IsChecked 就会有3 种值:true、false或者null。事实上,IsChecked 是Nullable<Boolean>类型的。第1 次点击ToggleButton 会把IsChecked 设为true,第2 次则把它设为null,第3 次把它设为false
- CheckBox
它可以区分是被鼠标点击还是被键盘点击。它可以在被点击时记录选中(checked)或者未选中(unchecked)状态。它支持3 种状态模式,分别为选中(checked)、不确定(indeterminate)、未选中(unche- cked)。
CheckBox 和ToggleButton 只有外观上的差别!CheckBox除了在继承ToggleButton 时重写了控件默认样式以及视觉外观以外,其他都与ToggleButton 完全一样
- RadioButton
RadioButton 是另一种从ToggleButton 继承过来的控件,但它的特殊在于支持互斥性。当多个RadioButton被放在一个组里,一次只有一个可以被选中
1.2 简单容器
- Lable
- ToolTip
- Frame, 很像HTML的Frame, 需要指定一个Source
1.3 带头(header)的容器
- GroupBox
- Expander
2. Items控件
WPF 的另一种主要控件种类是Items 控件。Items 控件包含了一个拥有许多Item 的集合而不是只是一条内容。
2.1 选择器
选择器(selector)作为Items 控件,它的Item 不但可以被索引而且可以被选择。Selector 抽象类继承自ItemsControl,并添加了一些属性来处理选择
WPF 有4 种继承自Selector 的控件:
- ComboBox
- ListBox
- ListView
ListView 从ListBox 继承而来,不管是从外观还是实际的操作上都很像ListBox. 增加了一个View属性,可以指定View为GridView类型
- TabControl
2.2 菜单
- Menu
- ContextMenu
2.3 其它Items控件
- TreeView
- ToolBar
- StatusBar
3. Range控件
Range 控件不会像内容控件或者Items 控件那样渲染任意内容,它们仅在一个指定的范围内存储并且显示数值。Range 控件的核心功能来自于一个叫作RangeBase 的抽象类。这个类定义了浮点数类型的属性来存储当前的值以及范围的端点:Value、Minimum 和Maximum。它还定义了一个简单的ValueChanged 事件
- ProgessBar
- Slider
4. 文本和墨水控件
WPF 包含了一些用来显示和编辑文字的控件
- TextBox
- RichTextBox
- PasswordBox
- InkCanvas
WPF学习(3) – WPF控件相关推荐
- WPF学习:分页控件
好多年没有发博了,今天闲暇,把给公司做的ERP分页控件拿出来,有很多都用到分页的,所以就封装了一个UserControl分页控件,效果还不错,可以看看,先! 注意:有用到存储过程. 如果还不明白, ...
- 在WPF中使用WinForm控件方法
在WPF中使用WinForm控件方法 原文:在WPF中使用WinForm控件方法 1. 首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,Syste ...
- Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决
Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 参考文章: (1)Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 (2)https://www. ...
- WPF IP地址输入控件的实现
WPF IP地址输入控件的实现 原文:WPF IP地址输入控件的实现 一.前言 WPF没有内置IP地址输入控件,因此我们需要通过自己定义实现. 我们先看一下IP地址输入控件有什么特性: 输满三个数字焦 ...
- WPF 绑定StaticResource到控件的方法
WPF 绑定StaticResource到控件的方法 原文:WPF 绑定StaticResource到控件的方法 资源文件内的属性能否直接通过绑定应用到控件?答案是肯定的. 比如,我们要直接把下面的& ...
- WPF编程,将控件所呈现的内容保存成图像的一种方法。
WPF编程,将控件所呈现的内容保存成图像的一种方法. 原文:WPF编程,将控件所呈现的内容保存成图像的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.ne ...
- WPF自定义日期时间控件
WPF自定义日期时间控件 一.需求分析 二.功能实现 一.需求分析 在工作中遇到的项目中,大部分软件是处于全屏运行状态,这时候就需要在软件的界面上加上日期时间那些,方便用户查看当前时间. 二.功能实现 ...
- C# wpf 实现Canvas内控件拖动
系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动(本章) 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 文章目录 系列文章目录 前言 一.如何实现? 1 ...
- 如何在wpf中使用winform控件或者winform的自定义控件
前言 在wpf中使用winform控件或者winform的自定义控件 一.添加引用 WindowsFormsIntegration.dll System.Windows.Forms.dll 提示:这两 ...
- WPF 实现蒙板控件
WPF 实现蒙板控件 控件名:Mask 作 者:WPFDevelopersOrg - 驚鏵 原文链接[1]:https://github.com/WPFDevelopersOrg/WPFDevel ...
最新文章
- python 网络相关依赖库 dpkt、scapy、pcap 安装
- java中的表达式是指_Java 表达式,语句和代码块
- Oracle数据库之单行函数
- 电脑桌面锁屏怎么设置_华为手机总是莫名多出照片?这两个设置不关闭,内存再大也不够用...
- 经典mysql语句_经典MYSQL语句
- VTK:Points之ExtractSurfaceDemo
- Keil5 EventRecorder 的STDOUT输出丢包率较大现象
- 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]
- a标签在ie6和ie7下面换行显示问题解析
- 后台管理系统、商品管理、商品发布、商品回收、订单管理、退款管理、运营管理、商城设置、导航分类、营销管理、优惠券套餐、数据统计、活跃用户、数据埋点、财务管理、对账单、财务数据、账户资产、电商后台
- 晓莲说-何不原创:如何通过jad把class批量反编译成java文件
- Originpro拟合Gompertz模型
- 室内红外线防盗报警器matlab,红外防盗报警系统毕业设计论文.doc
- 树莓派cm3+的i2c使用总结
- 扭蛋机html源码,微信小程序wxss制作扭蛋机
- 2021年第十二届蓝桥杯大赛软件赛决赛C/C++大学A组 个人部分题解
- FPGA零基础学习:数字通信中的电压标准
- mysql优化工具 MySQL Tuner
- Markdown 语法大全,常用功能集锦,有这一篇就够了
- 系统集成项目管理工程师教程考点精讲之风险的分类
热门文章
- 寻找中项和第k小元素c语言,分治法第k小元素poj2104.ppt
- DSP中两个延时函数的区别(转)
- 为什么饿着饿着就不饿了
- java ordered list_Java - JSON对象和ListOrderedMap问题
- PHP中几种b2b,用php开发 b2b 用什么架构?
- mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误
- win10 iot core java_Windows 10 IoT Core开发环境
- pytorch torch.eye
- 张一鸣批评的互联网“语言腐败”,危害到底有多大?
- Exchange Server 2016 独立部署/共存部署 (七)—— DAG功能测试