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