当前位置: 首页 > ds >正文

5.0.2 颜色16进制格式含义 控件template中path的使用

本例要实现的目标如下:

1.右上角的按钮是X的形式(使用path用两根直线绘制)

2.鼠标移动上去以及鼠标点击背景色都变化。(使用不同透明度的白色来区分表示)

一、关于颜色的表示

        在C# WPF和WinForms中,Background 属性用于设置控件的背景颜色,可以使用16进制(HEX)格式来表示颜色。下面详细介绍16进制颜色表示的含义和使用方法。
16进制颜色基本格式
在C#中,16进制颜色通常有以下几种表示形式:
6位16进制:#RRGGBB
8位16进制:#AARRGGBB (包含透明度)
3位16进制:#RGB (简写形式)

各部分含义
1. 6位16进制 (#RRGGBB)
RR:红色分量 (00-FF)
GG:绿色分量 (00-FF)
BB:蓝色分量 (00-FF)


2. 8位16进制 (#AARRGGBB)
AA:Alpha通道(透明度) (00-FF, 00完全透明,FF完全不透明)
RR:红色分量
GG:绿色分量
BB:蓝色分量


. 3位16进制 (#RGB)
这是6位表示法的简写形式,每个数字会被复制一次:
#RGB 等同于 #RRGGBB

二、关于path

下图右上角的按钮是两根线段组成的×。使用自定义的模板,其中使用path绘制。

<Border Background="Transparent" Name="back"><Path Data="M0 0 12 12M0 12 12 0" Stroke="white" StrokeThickness="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>

三、具体代码

<Window.Resources><ControlTemplate TargetType="Button" x:Key="CloseButtonTemplate"><Border Background="Transparent" Name="back"><Path Data="M0 0 12 12M0 12 12 0" Stroke="white" StrokeThickness="1" VerticalAlignment="Center" HorizontalAlignment="Center"/></Border><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter TargetName="back" Property="Background" Value="#22FFFFFF"/></Trigger><Trigger Property="IsPressed" Value="True"><Setter TargetName="back" Property="Background" Value="#44FFFFFF"/></Trigger></ControlTemplate.Triggers></ControlTemplate>
</Window.Resources>
<Border Margin="5" Background="White" CornerRadius="10" ><Border.Effect><DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect></Border.Effect><Grid><Grid.RowDefinitions><RowDefinition Height="1.8*"/><RowDefinition Height="3*"/><RowDefinition Height="60"/></Grid.RowDefinitions><Border Background="#007DFA" CornerRadius="10,10,0,0"/><Button HorizontalAlignment="Right" VerticalAlignment="Top" Width="50" Height="40"Template="{StaticResource CloseButtonTemplate}"/></Grid>
</Border>

http://www.xdnf.cn/news/91.html

相关文章:

  • 微服务架构基础知识
  • ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航
  • 插入排序和希尔排序
  • R 语言科研绘图 --- 饼状图-汇总
  • 磁流变式汽车减振器创新设计与关键技术研究
  • OpenCV 中的分水岭算法的原理及其应用---图像分割的利器
  • 小红书爬虫,小红书api,小红书数据挖掘
  • 【go】什么是Go语言的GPM模型?工作流程?为什么Go语言中的GMP模型需要有P?
  • 【数据结构与算法】——插入排序
  • 深度监听 ref 和 reactive 的区别详解
  • python面向对象实现学员信息管理系统详解
  • 滑动窗口209. 长度最小的子数组
  • 如何避免被目标网站识别为爬虫?
  • 长亭2月公开赛Web-ssrfme
  • 在没有第三方库的情况下使用 Python 自带函数解码
  • 递归函数详解
  • 力扣刷题-热题100题-第35题(c++、python)
  • StarRocks Community Monthly Newsletter (Mar)
  • nginx-基础知识(一)
  • 深度学习 从入门到精通 day_02
  • 【2025“华中杯”大学生数学建模挑战赛】选题分析 A题 详细解题思路
  • docker占用磁盘100%
  • [MySQL数据库] InnoDB存储引擎(三): 内存结构详解
  • 【Leetcode 每日一题 - 补卡】1534. 统计好三元组
  • NLP高频面试题(四十七)——探讨Transformer中的注意力机制:MHA、MQA与GQA
  • golang处理时间的包time一次性全面了解
  • 函数递归:递归的概念
  • 实现定时发送邮件,以及时间同步
  • 【口腔粘膜鳞状细胞癌】文献阅读3
  • 《前端性能优化秘籍:打造极致用户体验》