• 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
  • 相关阅读:
    ES6 数组下
    ES6 ---数组(上部分)
    ES6---函数
    ES6---字符串
    自适应网页设计(Responsive Web Design)
    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用?
    mysql潜在的危险kill
    shell脚本加密
    Linux安全知识总结
    nginx 解决400 bad request 的方法(转载)
  • 原文地址:https://www.cnblogs.com/JustRun1983/p/2638119.html
Copyright © 2020-2023  润新知