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
原文地址:https://www.cnblogs.com/JustRun1983/p/2638119.html