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

WINUI——Background小结

在 ​​WinUI/UWP XAML​​ 中,Background(或其他颜色属性)支持 ​​多种颜色表示方式​​,包括以下三种主流格式:


​1. RGB 十六进制(不透明)​

  • ​格式​​:#RRGGBB
  • ​特点​​:​​无透明度​​(默认完全不透明,Alpha = FF)。
  • ​示例​​:
    <Button Background="#FF0000"/>  <!-- 纯红色 -->

​2. ARGB 十六进制(带透明度)​

  • ​格式​​:#AARRGGBB
    • AA = 透明度(Alpha,00=全透明,FF=不透明)。
    • RRGGBB = 红绿蓝分量。
  • ​示例​​:
    <StackPanel Background="#4DFFFFFF"/>  <!-- 30%透明的白色 -->

​3. 颜色枚举(预定义颜色名)​

  • ​格式​​:直接使用 Colors 类中的英文名称(如 RedBlue)。
  • ​特点​​:代码简洁,但​​不支持透明度调整​​(始终不透明)。
  • ​示例​​:
    <TextBlock Foreground="DarkBlue"/>  <!-- 深蓝色文字 -->

​4. 扩展用法:SolidColorBrush 或资源引用​

​(1) 通过 SolidColorBrush 动态设置颜色​
<Button><Button.Background><SolidColorBrush Color="#80FF0000"/>  <!-- 50%透明的红色 --></Button.Background>
</Button>
​(2) 引用静态资源或主题资源​
<Page.Resources><SolidColorBrush x:Key="MyColor" Color="#802A8AD7"/>  <!-- 50%透明的蓝色 -->
</Page.Resources><Grid Background="{StaticResource MyColor}"/>

​对比总结​

​表示方式​​示例​​透明度支持​​适用场景​
RGB 十六进制#FF0000❌ 不透明简单纯色
ARGB 十六进制#80FF0000✅ 支持需要透明度的颜色
颜色枚举名"Red"❌ 不透明快速使用预定义颜色
SolidColorBrush<SolidColorBrush>✅ 支持动态或复杂颜色设置

​注意事项​

  1. ​透明度行为差异​​:

    • 直接设置 Background="#80FF0000" 和设置 Opacity="0.5" 不同:
      • ARGB 仅背景透明,子元素不受影响。
      • Opacity 会影响整个控件(包括子元素)。
  2. ​颜色转换工具​​:

    • 可以使用在线工具(如 Color Picker)快速获取 ARGB 值。
  3. ​WinUI 3 兼容性​​:

    • 以上语法在 ​​UWP/WinUI 2.x/WinUI 3​​ 中均适用。

​完整示例​

<StackPanel><!-- 方式1: RGB 十六进制 --><Rectangle Fill="#00FF00" Width="100" Height="50"/>  <!-- 纯绿色 --><!-- 方式2: ARGB 十六进制 --><Rectangle Fill="#800000FF" Width="100" Height="50"/>  <!-- 50%透明的蓝色 --><!-- 方式3: 颜色枚举名 --><TextBlock Text="Hello" Foreground="DarkOrange"/><!-- 方式4: SolidColorBrush --><Ellipse Width="100" Height="50"><Ellipse.Fill><SolidColorBrush Color="#4DFF69B4"/>  <!-- 30%透明的热粉色 --></Ellipse.Fill></Ellipse>
</StackPanel>

根据需求选择最合适的表示方式即可!

相关文章:

  • Kotlin 与 Jetpack Compose 参数设计完全指南
  • Endnote 21显示字段设置与修改详细解析(附Endnote Click)
  • 性能优化实践
  • 关于flowable工作流的研究与初步使用
  • ​​​​​​​今日github AI科技工具汇总(20250415更新)
  • MODBUS RTU time_out实现
  • LLM中的N-Gram、TF-IDF和Word embedding
  • 从“数据孤岛”到“万物互联”,PLC组网重构工控边界
  • STM32 HAL库 DAC生成正弦波
  • 返工成本高,如何优化验收流程
  • MyBatis SqlSessionFactory 批量执行实战
  • Transformer编程题目,结合RTX 3060显卡性能和市场主流技术
  • 【差分隐私相关概念】瑞丽差分隐私(RDP)命题10
  • 每日算法(双指针算法)(Day 1)
  • docker多架构镜像构建
  • 大模型面经 | 请你介绍一下ReAct(Reasoning and Acting)?
  • FreeRTOS菜鸟入门(五)·空闲任务与阻塞延时的实现
  • 《白龙马购销存》软件分享
  • ElasticSearch中常用的数据类型
  • lustre共享存储是免费的吗
  • 84%白化!全球珊瑚正经历最严重最大范围白化现象
  • 又双叒叕出差太空了!神二十成功出发,神十九乘组扫榻以待
  • 920余名在缅甸当阳等地实施跨境电信网络诈骗的中国籍犯罪嫌疑人被移交我方
  • 格力电器:选举董明珠为公司第十三届董事会董事长
  • 河南省濮阳市委常委、组织部部长刘建茂接受审查和调查
  • 俄乌就不打击民用基础设施释放对话信号