WPF 控件总结

内容控件:
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属性来控制其唯一的子元素在它的边界内缩放

来自http://blog.csdn.net/ryb666666/article/details/6953089 谢谢!

时间: 2024-08-12 17:44:55

WPF 控件总结的相关文章

WPF 控件与布局

[控件到底是什么?] 程序的本质就是"数据+算法"------用户输入原始的数据,算法处理原始数据并得到结果数据.问题就在于程序如何将结果数据显示给用户.同样一组数据,你可以使用LED阵列显示出来,或者以命令行模式借助各种格式控制符(如TAB)对齐并输出,但这些都不如图形界面(GUI  Graphic User Interface)来的友好和方便.GUI的方便在于它对数据展示的直观性,程序员可以通过编程的方式将数据通过图形的方式展示出来,从而避免了用户面对一大堆复杂数据的痛苦.提高了工

WPF 控件之 Popup

1.常用属性说明 IsOpen: 布尔值,指示 Popup 控件是否显示 StaysOpen: 布尔值,指示在 Popup 控件失去焦点的时候,是否关闭 Popup 控件的显示 PopupAnimation:指示显示窗口时是否使用动画,只有在 AllowsTransparency 等于true时此属性才有用 Popup 窗口本身是一个不可见的元素,只有在窗口上放置了信息后才能显示 Popup的定位方式与一般控件的定位方法不一样, Popup 使用五个属性来设定位置信息: PlacementTar

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

今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的.而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况. 找到了原因后,一个常规的解决方法是:将WinForm控件换成WP

WPF控件到图片的转换

在实际的项目开发中,经常需要将信息保存成图片的形式,如屏幕截图.地图快照等操作,我中最近一个项目中便有这样的需求,项目(WPF)中用到GMap.NET控件,中地图上展示一些信息,过程中可能用户需要将地图信息保存下来,也就是地图快照,我的界面如下所示: 网上查了GMap相关的资料,没有找到GMap怎么截图的方法,最后找到网友提供的方法:将WPF控件转换成图片. 具体实现如下: namespace QACDR2.Common { internal enum ImageType { Bmp, Gif,

WPF控件自绘——基础,Control类的定义

用于记录自己的学习WPF控件,大神请飘过... [WPF控件类继承关系图] 所有可以自定义模版的控件都是从Control继承,所以我们来看看Contorl类里面到底有些什么.为以后的控件自定义模版做好准备.废话少说先来看看WPF中Control类的定义 1 namespace System.Windows.Controls 2 { 3 public class Control : FrameworkElement 4 { 5 public static readonly DependencyPr

wpf控件开发基础

wpf控件开发基础(3) -属性系统(2) http://www.cnblogs.com/Clingingboy/archive/2010/02/01/1661370.html 这个有必要看看

WINFORM中加入WPF控件并绑定数据源实现跨线程自动更新

1. WINFORM中添加两个ElementHost,一个放WPF的Button,一个放WPF的TextBox.其中TextBox与数据源绑定,实现跨线程也可以自动更新,而不会出现WINFORM的TextBox控件与数据源绑定后,存在子线程中更新数据源报错(跨线程更新控件)的情况. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System

跟我一起学WPF(3):WPF控件基础

WPF控件简介 通过上一篇XAML语言的介绍,我们知道,XAML是一个树形结构,同样,WPF控件作为构成整个XAML树的一部分,也是一个树形结构.我们看一个简单的例子. <Button.Content> <DockPanel> <Image Source="F:\01.Code\01.MyCode\WpfApplication1\WpfApplication1\Resources\荷.jpg" Width="30"/> <T

WPF学习系列之五(WPF控件)

控件:    1.内容控件------这些控件能够包含嵌套的元素,为它们提供几乎无限的显示能力.内容控件包括Lable,Button 以及ToolTip类. 内容控件是更特殊的控件类型,它们可以包含(并显示)一块内容.从技术角度来讲,内容控件是可以包含单个嵌套元素的控件.与布局容器不同的是内容控件只能包含一个子元素,而布局控件只要愿意可以包含任意多个嵌套元素.              提示:当然,仍然可以在单个内容控件中放置大量内容-----诀窍是使用单个容器,比如,使用StackPanel面

WinForm中调用WPF控件

WinForm中调用WPF控件 在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件: 步骤1:创建WinForm工程: 步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程: 步骤3:在WPF中创建自定义的控件,或者添加WPF控件到面板上: 步骤4:在WinForm面板上添加ElementHost控件(工具箱中): 步骤5:生成解决方案: 步骤6:在刚刚的ElementHost中的Child属性中添加刚刚