欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > WINUI——Background颜色使用小结

WINUI——Background颜色使用小结

2025/4/20 2:41:42 来源:https://blog.csdn.net/bianguanyue/article/details/147261776  浏览:    关键词: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>

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词