2011-09-27 33 views
4

例如,在this page有這樣的代碼:爲什麼畫筆只有3個六進制值?

<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" /> 

爲什麼顏色屬性只有3個十六進制值? color通常有6個或8個十六進制值嗎? (如Fill =「#FF0000FF」)3個格子是什麼意思?意思?

+0

'FF0000FF'長度爲8位,而不是6 – BoltClock

+0

@BoltClock你是對的..這是一個令人尷尬的錯誤 –

回答

8

刷顏色可能在十六進制表示法具有三個,四個,六個或八個數字被指定爲顯示in the MSDN page for SolidColorBrush

<object property="#rgb"/> 
- or - 
<object property="#argb"/> 
- or - 
<object property="#rrggbb"/> 
- or - 
<object property="#aarrggbb"/> 

#rgb擴展到#rrggbb(像它在CSS十六進制表示法一樣),並且#argb擴展到#aarrggbb。使用三位或六位數字時,alpha總是最大。也就是說,這些都是等效的:

<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" /> 
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#FAAA" /> 
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAAAAA" /> 
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#FFAAAAAA" /> 
+0

我還沒有嘗試過,但你應該能夠使用所有這些符號與任何其他採用「Color」的XAML屬性。 – BoltClock

3

如果使用3位值,每個數字被自動增加一倍,所以#AAA相當於#AAAAAA#123 = #112233

0

你的示例FF0000FF表示4進制(元組)值代表4個字節(RGBA)。 術語#AAA是一個短期術語。 #AAA等於#AAAAAA等於#FFAAAA