控件分类

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015

作者:李成富

撰写时间:2019年06月01日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

控件是指对数据和方法的封装。控件可以有自己的属性和方法,属性是控件数据的简单访问者,方法是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试工作,最后是控件的使用。开发者要掌握三项内容:属性、事件和方法。

 

根据创建方式不不同,可以分为常用控件(一般指原生)、扩展控件(继承于原有控件,进行功能扩展)、自定义控件(原来没有,根据功能创造一个控件,继承于Control)、用户控件(基础控件)。

 

控件类型分类:

一、内容控件:

只能容纳一个控件或者布局控件作为他的内容。所以经常借助布局控件来规划其内容。

控件分类

  1. Button:是继承自ButtonBase的。Button.IsCancel="True"时,点击按钮,对话框关闭。当Button.IsDefault="True",按回车触发按钮的Click事件。
  2. RepeatButton:当按住RepeatButton不放时,不断触发点击事件。其触发事件频率由属性DelayInterval决定。同时RepeatButton没有取消和默认这两种行为。
  3. ToggleButton:它称为凹凸按钮,按一下了(IsChecked属性为true)再按一下了(IsChecked属性为false)。
  4. CheckBoxCheckBoxtToggleButton只有外表上的差别。
  5. RadioButton:把RadioButton放在一个组里,一次只有一个可以被选中,就是所谓的互斥性,但不能通过选中本身来取消对自己的选中(而CheckBox可以),可以通过编程的方式来完成。

二、简单容器:

  1. Label:可以用Content属性(非text属性)存储任何内容,但Label只对文本有用。
  2. ToolTip:把内容放在浮动框中,但它必须赋给另一个元素的ToolTip属性,不能直接放在UI元素树中。
  3. FrameWPFFrame的行为很像HTMLFrame,也可以包含任何内容,如果同时设置了SourceContent属性,Content优先。

 

三、有Header的容器:

  1. GroupBox:含多个项,也可以只包含一个项,Header属性和Content属性一样可以包含任意对象。
  2. ExpanderExpander可以展开或折叠(默认折叠),Expander中的按钮实际上是ToggleButton,只是换了UI而已。

 

四、条目控件:

控件分类

1Items控件:

  1. ComboBoxComboBox允许用户在选择框里输入文字,如果文字和已有的Item一样,且其被选中,否则不选中任何Item,但文字被存储在Text属性中。
  2. ListBoxListBoxComboBox类似,但ListBox内的所有项都会显示出来,或以滚动条的方式显示出来。
  3. ListViewListView提供View属性来自定义视图模板。
  4. TabControl:选项卡,可以在多个页面之间进行切换。

2、菜单控件:

可以显示一列数据,一般情况下,是数据的类型是相同的

  1. Menu:水平放置它的项,Menu中的项可以是任何东西,但建议使用MenuItemSeparator(分隔线)对象。
  2. ContextMenu:上下文菜单,和Menu工作原理一样,但不能直接放在元素树中,只能通过属性把它加载到别的控件上。当用户在该控件上右击时,菜单就显示出来。
  3. TreeViewTreeView是一个树形控件,展开/折叠节点来分层显示数据。
  4. ToolBar:主要是对许多小按钮或其它控件进行分组。
  5. StatusBar::状态栏控件,以水平方式放置它的项,通常用来在窗口底部显示状态信息。

 

五、Range控件

  1. ProgressBar:显示进度的控件。
  2. Slider:通过在刻度尺移动游标来改变当前值。

 

六、文本控件:

控件分类

TextBox:能输入一行或多行文字,内容存储在Text属性(不是Content属性)中。

RichTextBox:是高级版的TextBox,能包含格式化的文字,内容存在DocumentFlowDocument类型)属性(不是Text属性)里。

PasswordBoxPasswordBox是简单的TextBox,以小圆点的方式显示输入的文字(密码是很重要的数据,一般输入密码都是以小圆点方式显示,以免被别人看到)。

InkCanvas:通过鼠标或指示笔进行书写或画画的控件。

 

七、布局控件:

是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排 列控件。

  1. Canvas:控件里的元素通过坐标的方式定位。
  2. StackPanel:控件里的元素以从左到右的方式或从上到下的方式排列。
  3. WrapPanelWrapPanelStackPanel相似,区别在于当空间不够时元素会自己换行或换列。
  4. DockPanel:称为磁铁控件,它可以让元素吸附在某一条边上。并拉伸元素以填满全部宽度或高度。
  5. Grid:类似HTML中的table
  6. TabPanel:简化的WrapPanel
  7. ToolBarOverflowPanel:简化的WrapPanel
  8. ToolBarTray:仅支持ToolBar的子元素,并以水平方式排列ToolBar
  9. UniformGrid:是简化的Grid,所有行和列的大小设置都是*,且不能改变。
  10. ScrollBar:以滚屏的方式显示其内容。
  11. ViewBox:只能有一个子元素,默认情况下,ViewBox会向两个方向拉伸,来提供它的内容足够的空间。

相关文章:

  • 2022-01-19
  • 2021-06-27
  • 2021-10-12
  • 2021-11-13
  • 2022-01-10
  • 2022-12-23
  • 2021-05-21
  • 2022-02-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2021-06-30
  • 2021-11-09
相关资源
相似解决方案