C# WPF编程-控件

C# WPF编程-控件

  • 概述
    • WPF控件类别包括以下控件:
    • 背景画刷和前景画刷
    • 字体
    • 文本装饰和排版
    • 字体继承
    • 字体替换
    • 字体嵌入
    • 文本格式化模式
    • 鼠标光标
  • 内容控件
    • Label(标签)
    • Button(按钮)

概述

在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(按钮)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/563005.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xilinx的高速接口构成原理和连接结构

本文来源&#xff1a; V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述&#xff1a;二、高速收发器结构&#xff1a;2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…

计算机视觉之三维重建(2)---摄像机标定

文章目录 一、回顾线代1.1 线性方程组的解1.2 齐次线性方程组的解 二、透镜摄像机的标定2.1 标定过程2.2 提取摄像机参数2.3 参数总结 三、径向畸变的摄像机标定3.1 建模3.2 求解 四、变换4.1 2D平面上的欧式变换4.2 2D平面上的相似变换和仿射变换4.3 2D平面上的透射变换4.4 3D…

MySQL 8.0-索引- 不可见索引(invisible indexes)

概述 MySQL 8.0引入了不可见索引(invisible index)&#xff0c;这个在实际工作用还是用的到的&#xff0c;我觉得可以了解下。 在介绍不可见索引之前&#xff0c;我先来看下invisible index是个什么或者定义。 我们依然使用拆开来看&#xff0c;然后再把拆出来的词放到MySQL…

Spring Boot从入门到实战

课程介绍 本课程从SpringBoot的最基础的安装、配置开始到SpringBoot的日志管理、Web业务开发、数据存储、数据缓存&#xff0c;安全控制及相关企业级应用&#xff0c;全程案例贯穿&#xff0c;案例每一步的都会讲解实现思路&#xff0c;全程手敲代码实现。让你不仅能够掌Sprin…

HTTPS协议的工作原理:保护网络通信的安全盾牌

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

网络安全笔记-day7,共享文件服务器

文件共享服务器 准备阶段 打开虚拟机win2003 创建文件 D:. —share   –down   |  test1.txt   |   —up     01xxx.txt     02xxx.txt 配置IP win2003 192.168.1.10 255.255.255.0 winxp 192.168.1.20 255.255.255.0 创建共享文件夹 创建共享&#xff1…

2024智能EDM邮件营销系统使用攻略

在数字化营销领域&#xff0c;智能EDM&#xff08;Electronic Direct Mail&#xff09;邮件营销作为一种高效、精准的推广方式&#xff0c;正日益受到企业的高度重视。而要实现这一策略的成功落地&#xff0c;一个高可靠性和高稳定性的专业邮件发送平台则是不可或缺的关键环节。…

设计数据库之外部模式:数据库的应用

Chapter5&#xff1a;设计数据库之外部模式&#xff1a;数据库的应用 笔记来源&#xff1a;《漫画数据库》—科学出版社 设计数据库的步骤&#xff1a; 概念模式 概念模式(conceptual schema)是指将现实世界模型化的阶段进而&#xff0c;是确定数据库理论结构的阶段。 概念模…

HGNN+:通用超图神经网络

文章信息 文章题为“HGNN&#xff1a;General Hypergraph Neural Networks”&#xff0c;该文章于2023年发表于“IEEE Transcation on Pattern Analysis and Machine Intelligence”。该文章是其会议版本的延续&#xff0c;主要提出了一种通用的超图神经网络框架用于解决分类…

讯鹏智能边缘计算网关主机,支持MQTT协议主动上传上位机软件平台

随着科技的不断发展&#xff0c;智能化设备在我们的生活中扮演着越来越重要的角色。而智能边缘计算网关作为连接智能设备与互联网的重要纽带&#xff0c;其远程运维功能为管理者带来了极大的便利。特别是像OkEdge边缘计算网关这样的产品&#xff0c;不仅可以替代传统的Windows系…

链动2+1模式深度解析:用户留存与复购数据揭秘

大家好&#xff0c;我是吴军&#xff0c;来自一家专注于软件开发的公司&#xff0c;担任产品经理一职。 今天&#xff0c;我想与大家深入探讨一个话题——链动21模式&#xff0c;以及它是如何有效解决用户留存与复购的难题的。 可能有人会说&#xff0c;链动模式已经存在很久了…

201基于matlab的成绩管理系统

基于matlab的成绩管理系统。自带的GUI界面设计了一个成绩管理界面&#xff0c;可进行成绩的载入、查询、绘图、求平均分。可更改自己的数据进行录入。包含作业文档。程序已调通&#xff0c;可直接运行。 201 matlab 成绩管理系统 GUI - 小红书 (xiaohongshu.com)