VB.NET中如何通过RGB/HEX定义颜色?RGB未识别报错求助
解决WPF中通过RGB/HEX定义Color的问题
你原来的代码错误在于WPF的Color类没有RGB构造方法,以下是几种正确的实现方式:
方法1:通过HEX字符串转换
使用ColorConverter.ConvertFromString将HEX颜色值直接转为Color对象,需做类型转换:
Dim mycolor1 As Color = DirectCast(ColorConverter.ConvertFromString("#00FF00"), Color)
方法2:通过RGB数值构造
如果知道红、绿、蓝的具体数值(范围0-255),用Color.FromArgb方法,第一个参数是透明度(255表示完全不透明):
' #00FF00对应红=0,绿=255,蓝=0 Dim mycolor1 As Color = Color.FromArgb(255, 0, 255, 0)
方法3:使用内置颜色枚举
对于常见颜色,直接调用Colors枚举中的预定义值更简洁:
Dim mycolor1 As Color = Colors.Green
修正后的完整代码
Dim mycolor1 As Color = DirectCast(ColorConverter.ConvertFromString("#00FF00"), Color) Dim myBrush As Brush ' 从Color转换为画刷 myBrush = New SolidColorBrush(mycolor1) For Each Border In Me.Children Border.Background = myBrush Next
内容的提问来源于stack exchange,提问作者AkKi
相关产品推荐
相关产品推荐

