内容控件:
1.Button:
当Button.IsCancel="True"时,点击按钮,对话框关闭。当Button.IsDefault="True",按回车触发按钮的Click事件。
2.RepeatButton:
外表和Button一模一样,行为也基本一样,不一样的地方是,当按住RepeatButton不放时,不断触发点击事件。其触发事件频率由属性Delay和Interval决定。同时RepeatButton没有取消和默认这两种行为。
3.ToggleButton:
外表和Button一模一样,也没有取消和默认这两种行为,我把它称为“凹凸”按钮,按一下“凹”了(IsChecked属性为true)再按一下“凸”了(IsChecked属性为false)。
4.CheckBox:
CheckBoxt和ToggleButton只有外表上的差别。
5.RadioButton:
把RadioButton放在一个组里,一次只有一个可以被选中,就是所谓的“互斥性”,但不能通过选中本身来取消对自己的选中(CheckBox可以),可以通过编程的方式来完成。
简单容器:
1.Label:
可以用Content属性(非text属性)存储任何内容(如:Button Menu等),但Label只对文本有用。
2.ToolTip:
把内容放在浮动框中,但它必须赋给另一个元素的ToolTip属性,不能直接放在UI元素树中。
3.Frame:
WPF的Frame的行为很像HTML的Frame,也可以包含任何内容,如果同时设置了Source和Content属性,Content优先。
有Header的容器:
1.GroupBox:
GroupBox通常含多个项,也可以只包含一个项,Header属性和Content属性一样可以包含任意对象(如:Button)。
2.Expander:
Expander和GroupBox相似,但Expander可以展开或折叠(默认折叠),Expander中的按钮实际上是ToggleButton,只是换了UI而已。
Items控件
1.ComboBox:
ComboBox隐式地把它每一个项包含在ComboBoxItem对象中,当然也可以显式地在一个ComboBoxItem中包含任何一个Item,ComboBoxItem也是一个内容控件。ComboBox允许用户在选择框里输入文字,如果文字和已有的Item一样,且其被选中,否则不选中任何Item,但文字被存储在Text属性中。
2.ListBox:
ListBox和ComboBox类似,但ListBox内的所有项都会显示出来,或以滚动条的方式显示出来。
3.ListView:
ListView和ListBox很象,ListView提供View属性来自定义视图模板。
4.TabControl:
用它可以在多个页面之间进行切换。
菜单
1.Menu:
Menu是水平放置它的项,Menu中的项可以是任何东西,但建议使用MenuItem和Separator(分隔线)对象。
2.ContextMenu(上下文菜单):
和Menu工作原理一样,但不能直接放在元素树中,只能通过属性把它加载到别的控件上。当用户在该控件上右击时,菜单就显示出来。
3.TreeView:
通过展开/折叠节点来分层显示数据。
4.ToolBar:
主要是对许多小按钮或其它控件进行分组。
5.StatusBar:
也是以水平方式放置它的项,通常用来在窗口底部显示状态信息。
Range控件
1.ProgressBar:
显示进度的控件。
2.Slider:
可以通过在刻度尺移动“游标”来改变当前值。
文本控件
1.TextBox:
能输入一行或多行文字,内容存储在Text属性(不是Content属性)中。
2.RichTextBox:
RichTextBox是高级版的TextBox,能包含格式化的文字,内容存在Document(FlowDocument类型)属性(不是Text属性)里,
3.PasswordBox:
PasswordBox是简单的TextBox,以小圆点的方式显示输入的文字(密码嘛!当然不能让你看见)。
4.InkCanvas:
通过鼠标或指示笔进行书写或画画的控件。(指示笔:笔尖用来写,笔端和来擦)
布局控件
1.Canvas:
控件里的元素通过坐标的方式定位。
2.StackPanel:
控件里的元素以从左到右的方式或从上到下的方式排列。
3.WrapPanel:
WrapPanel与StackPanel相似,区别在于当空间不够时元素会自己换行或换列。
4.DockPanel:
我把它称为“磁铁”控件,它可以让元素“吸附”在某一条边上。并拉伸元素以填满全部宽度或高度。
5.Grid:
类似HTML中的table。
6.TabPanel:
简化的WrapPanel。
7.ToolBarOverflowPanel:
也是简化的WrapPanel。
8.ToolBarTray:
仅支持ToolBar的子元素,并以水平方式排列ToolBar。
9.UniformGrid:
是简化的Grid,所有行和列的大小设置都是*,且不能改变。
10.ScrollBar:
以滚屏的方式显示其内容。
11.ViewBox:
ViewBox只能有一个子元素,默认情况下,ViewBox会向两个方向拉伸,来提供它的内容足够的空间。但也提供一个Stretch属性来控制其唯一的子元素在它的边界内缩放

 WPF 控件总结的更多相关文章

  1. 浅尝辄止——使用ActiveX装载WPF控件

    1 引言 使用VC编写的容器类编辑器,很多都可以挂接ActiveX控件,因为基于COM的ActiveX控件不仅封装性不错,还可以显示一些不错的界面图元. 但是随着技术不断的进步,已被抛弃的Active ...

  2. XMAL语法系列之-(2)---WPF控件继承图

    WPF控件继承图 1 FrameworkElement 1.1 Panel(面板类元素) 1.1.1 Canvas 1.1.2 DockPanel 1.1.3 Grid 1.1.4 TabPanel ...

  3. 通过WinForm控件创建的WPF控件无法输入的问题

    今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子 ...

  4. WPF控件--利用Winform库中的NotifyIcon实现托盘小程序

    WPF控件--NotifyIcon   运行界面如下所示:            图1                                             图2 代码很少,如下所示 ...

  5. (转)WPF控件开源资源

    (转)WPF控件开源资源 Textbox Drag/Drop in WPFhttp://www.codeproject.com/Articles/42696/Textbox-Drag-Drop-in- ...

  6. WPF控件模板

    引言:在进行WPF项目开发过程中,由于项目的需要,经常要对某个控件进行特殊的设定,其中就牵涉到模板的相关方面的内容.本文也是在自己进行项目开发过程中遇到控件模板设定时集中搜集资料后整理出来的,以供在以 ...

  7. 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件

    项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...

  8. 我的WPF控件库——KAN.WPF.XCtrl(141105)

    自己开发的WPF控件库,只是初版,有扩展的Button,TextBox,Window.详细参见前几篇博文. WPF自定义控件(一)——Button:http://www.cnblogs.com/Qin ...

  9. Dev的WPF控件与VS2012不兼容问题

    在只有vs2010环境下Dev的wpf可以在视图模式下显示,但是安装vs2012后无法打开界面的视图模式,报错:无法创建控件实例! 发现是Dev的wpf控件与.net framework 4.5不兼容 ...

  10. 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)

    首先,本文所有 代码已经提交到github,需要的可以直接从github获取:https://github.com/starts2000/CefSharp,希望可以帮助到有需要的朋友们. CEF 简介 ...

随机推荐

  1. 18-09-27 pandas 学习02

    如何系统的学习python 中有关数据分析和挖掘相关的库?什么是系统的学习?系统的学习就是一个先搭建只是框架体系,然后不断填充知识看,不断更新迭代的过程. Pandas,numpy,scipy,mat ...

  2. Oracle create tablespace 、create user and so on

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_ ...

  3. UUID自动生成

    (uuid,available,createtime)  select left(replace(uuid(), '-', ''),24),1,utc_timestamp() 使用: ),,utc_t ...

  4. Android大作业 --音乐播放器

    1.项目成员(本次作业主要对上一次的音乐播放器进行完善) 韦家城 学号:1600802026 班级:161  博客:https://www.cnblogs.com/ln9969cc/ 邓乾尧 学号:1 ...

  5. 获取页面元素的css属性

    function getStyle(obj, name){    if(obj.currentStyle)    {         return obj.currentStyle[name];//兼 ...

  6. JavaWeb基础知识总结

    JavaWeb基础知识总结.   1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供 ...

  7. SQL注入之Sqli-labs系列第二十五关(过滤 OR & AND)和第二十五A关(过滤逻辑运算符注释符)

    开始挑战第二十五关(Trick with OR & AND) 第二十五关A(Trick with comments) 0x1先查看源码 (1)这里的or和and采用了i正则匹配,大小写都无法绕 ...

  8. JAVA小程序-----买衣服

    import java.util.Scanner; //引用扫描器 public class TestDemo1 { public static void main(String [] args){ ...

  9. redis实现api限流

    redis官方给出了参考文档:INCR 这里参考第一种方法,使用token bucket实现:每个用户每秒有一个Counter: func RateLimiter(uid string, rlType ...

  10. 11.2.0.4rac service_name参数修改

    环境介绍 )客户环境11. 两节点 rac,集群重启后,集群资源一切正常,应用cs架构,连接数据库报错,提示连接对象不存在 )分析报错原因,连接数据库方式:ip:Port/service_name方式 ...