Używam Expression Blend 3 i ręczne zapisywanie niektórych XAML, w szczególności wartości kolorów kontrolek.Dlaczego wiodący "#FF" w szesnastkowych wartościach kolorów?
Mam listę kolorów RGB już przekonwertowane na szesnastkowy. Po prostu muszę wstawić wartość szesnastkową do mojego XAML.
Początkowo wkleiłem wartość heksadecymalną z wiadomości e-mail do odpowiednich właściwości. Zanim zdążyłem dokończyć, Blend zaczął mieć odpowiedni krój, podkreślając właściwość koloru za pomocą skrętu i podpowiedzi wskazującej, że "Token nie jest ważny". Po pewnych badaniach znalazłem umieszczenie znaku funta ("#") przed wartością heksadecymalną rozwiązanego tego problemu.
W trakcie badania tego problemu zacząłem zmieniać kolory za pomocą próbnika kolorów w Blend. Szybko odkryłem, że wartości, które wstawiał Blend, zaczęły się nie tylko od znaku funta, ale także od "FF". Wartości, które wklejałem, były poprawnymi kolorami w prawidłowym formacie szesnastkowym. Ale wprowadzając wartości RGB do Blend i pozwalając, aby Blend wstawił wartość heksadecymalną, zauważyłem, że wszystkie mykolory zostały poprzedzone prefiksem "#FF". Usunięcie znaku #, jak już wspomniałem, spowodowało błędy, ale usunięcie "FF" zostało zszywane, by nie mieć żadnego efektu.
W świecie kolorów heksadecymalnych, czy kolor # 5A7F39 jest taki sam jak # FF5A7F39? Dlaczego FF? Są to dwie różne wartości heksadecymalne, prawda? Ale wyglądają identycznie na ekranie. Dlaczego różnica?
Jestem nieco zdezorientowany tym, że zgodnie z artykułem 1 cyfra szesnastkowa reprezentuje 8 bitów, a 2 cyfry szesnastkowe reprezentują 16 bitów. – snarf