为什么WPF使用HTML / HEX颜色?

时间:2010-11-11 22:25:01

标签: c# .net wpf

为什么:

<Trigger Property="ItemsControl.AlternationIndex" Value="2">
    <Setter Property="Background" Value="#FAC896"></Setter>
</Trigger>

而不是:

<Trigger Property="ItemsControl.AlternationIndex" Value="2">
    <Setter Property="Background" Value="50 50 50 255"></Setter>
</Trigger>

这是出于Xaml解析器/编译器的性能原因吗?

我问的原因是,艺术家在使用RGB和/或HSV颜色时很难设计界面。

顺便说一句,我使用VS 2010 WPF编辑器。

2 个答案:

答案 0 :(得分:6)

如果您是艺术家,那么您应该使用Expression Blend。它会给你一个非常漂亮的颜色选择器,它会为你处理正确的颜色代码。此外,您提供的十六进制数字是RGB的形式。两个字节的RED,两个字节的GREEN和两个字节的BLUE。

要回答您的问题,WPF设计团队的某个人不得不说,但我怀疑它是用来与HTML保持一致的。

据我所知,十六进制数和一个十进制数没有区别,它们都是常量并具有相同的性能,因为它们都在计算机中表示为二进制数。

答案 1 :(得分:2)

我怀疑这是出于性能,可能仅仅是因为HTML惯例。

无论如何,如果您正在处理十六进制值,您可以在心理上分离十六进制颜色的组件:

FA C8 96

他们通过知道有6个额外数字A(10),B(11),C(12),D(13),E(14),F(他们)将它们“眼球”作为0到255之间的值。 15)。

或者只是将十六进制值复制并粘贴到第三方颜色选择器中......