C# WPF编程-控件

概述

在WPF领域,控件通常被描述为与用户交互的元素,能接收焦点并接受键盘或鼠标输入的元素。

WPF控件类别包括以下控件:

  • 内容控件: 这些控件可包含嵌套的元素。如:Label、Button、ToolTip和ScrollViewer类。
  • 带有标题的内容控件: 这些控件允许添加主要内容部分以及单独标题部分的内容控件。通常用于封装更大的用户界面块。如:TabItem、GroupBox以及Expander类。
  • 文本控件: 允许用户输入文本的控件。如普通文本(TextBox)、密码文本(PasswordBox)以及格式化文本(RichTextBox)。
  • 列表控件: 这些控件在列表中显示项的集合。包括:ListBox和ComboBox类。
  • 基于范围的控件: 这些控件通常只有共同的属性Value,可以使用预先规定范围内的任何数字设置改属性。包括Slider以及ProgressBar类。
  • 日期控件: 此类控件包括两个允许用户选择日期的控件,Calendar和DatePicker。

所有控件都继承自System.Windows.Control类,该类添加了一小部分基本的基础结构:

  • 设置控件内容对齐方式的能力
  • 设置Tab键顺序的能力
  • 支持绘制背景、前景和边框
  • 支持格式化文本内容的尺寸和字体

背景画刷和前景画刷

所有控件都包含背景和前景概念。背景是控件表面,前景是文本。在WPF中分别使用Background和Foreground属性设置这两个区域的颜色。这两个属性处理使用颜色对象,还可以使用更强大的Brush画刷对象:

  • SolidColorBrush:单一颜色画刷。
  • LinearGradientBrush:线性渐变画刷
  • TileBrush:
  1. 代码设置颜色:
cmd.Background = new SolidColorBrush(Colors.Red);
cmd.Foreground = new SolidColorBrush(Color.FromRgb(red, green, blue));

也可以提供Alpha值,Color.FromArgb()方法创建支持透明度的颜色。Alpha值0到255。

  1. XAML中设置颜色:
	方式1:
	< Button Background="Red">确认< /Button>
	
	方式2:
	< Button>确认
		< Button.Background>
			< SolidColorBrush Color="Red">
		< /Button.Background>
	< /Button>
	
	方式3:
	< Button Background="#AAFF0000">确认< /Button>

使用画刷不仅可以设置Background和Foreground属性,还可使用BorderBrush和BorderThickness属性在控件周围绘制边框。

字体

Control类定义的字体相关属性:
在这里插入图片描述
代码中下设置字体:

cmd.FontFamily = "Times New Roman";
cmd.FontSize="20";

XAML中设置字体:

  <Button Name="cmd" FontFamily="Times New Roman" FontSize="20" FontWeight="Bold">OK</Button>

文本装饰和排版

有些元素还可以通过TextDecorations和Typography属性,支持更高级的文本控制。

    <StackPanel>
        <TextBlock TextDecorations="Underline">Underline Text</TextBlock>
        <TextBlock TextDecorations="Baseline">Baseline Text</TextBlock>
        <TextBlock TextDecorations="OverLine">OverLine Text</TextBlock>
        <TextBlock TextDecorations="Strikethrough">Strikethrough Text</TextBlock>
        <TextBlock TextDecorations="None">None Text</TextBlock>
    </StackPanel>

字体继承

当设置任何字体属性时,属性值都会流经嵌套的对象。

字体替换

可以将FontFamily属性设置为有逗号分隔的多个字体选项列表。WPF将按顺序遍历该列表,尝试在列表中指定一种字体。

<Button FontFamily="Technical Italic, Comic Sans MS, Arial">None Text</Button>

字体嵌入

文本格式化模式

鼠标光标

内容控件

Label(标签)

Button(按钮)

相关推荐

  1. Winform编程详解八:Label 标签

    2024-03-23 22:16:02       18 阅读
  2. Winform编程详解二十:TreeView 树

    2024-03-23 22:16:02       17 阅读
  3. C#: richTextBox 富文本编辑使用

    2024-03-23 22:16:02       38 阅读
  4. Qt 在编辑框中加入按钮

    2024-03-23 22:16:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 22:16:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 22:16:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 22:16:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 22:16:02       18 阅读

热门阅读

  1. 建设工程司法鉴定的注意事项

    2024-03-23 22:16:02       19 阅读
  2. RedisTemplate的一些常用方法

    2024-03-23 22:16:02       19 阅读
  3. C++基础入门(命名空间,函数,引用)

    2024-03-23 22:16:02       19 阅读
  4. 正则化和贝叶斯的关系

    2024-03-23 22:16:02       17 阅读
  5. SpringMVC 中的常用注解和用法

    2024-03-23 22:16:02       16 阅读
  6. Python-元组(Tuple)列表(List)的区别

    2024-03-23 22:16:02       16 阅读
  7. 如何了解AI基础概念

    2024-03-23 22:16:02       17 阅读
  8. Python-元祖-Tuple

    2024-03-23 22:16:02       17 阅读
  9. 富格林:出金不顺谨防虚假受害

    2024-03-23 22:16:02       21 阅读
  10. 大模型日报2024-03-23

    2024-03-23 22:16:02       22 阅读
  11. sentinel系统规则

    2024-03-23 22:16:02       18 阅读
  12. React——class组件中setState修改state

    2024-03-23 22:16:02       17 阅读
  13. 中国公司在美国上市公司统计

    2024-03-23 22:16:02       20 阅读
  14. LeetCode162. 寻找峰值

    2024-03-23 22:16:02       18 阅读