Assegnare un colore da codice in Silverlight

di Alessio Leoncini, in Silverlight 4.0,

Durante lo sviluppo delle applicazioni può capitare l'esigenza di assegnare programmaticamente un colore ad un oggetto. In XAML i colori sono gestiti dagli oggetti di tipo Brush, qualora si disponga della stringa esadecimale, possiamo creare l'oggetto corrispondente con lo snippet seguente:

Esempio C#
public static class Helper
{
    public static SolidColorBrush GetColorFromHex(string myColor)
    {
        return new SolidColorBrush(
            Color.FromArgb(
                Convert.ToByte(myColor.Substring(1, 2), 16),
                Convert.ToByte(myColor.Substring(3, 2), 16),
                Convert.ToByte(myColor.Substring(5, 2), 16),
                Convert.ToByte(myColor.Substring(7, 2), 16)
            )
        );
    }
}

Esempio VB
Public NotInheritable Class Helper
    Public Shared Function GetColorFromHex(ByVal myColor As String) As SolidColorBrush
        Return New SolidColorBrush(Color.FromArgb(Convert.ToByte(myColor.Substring(1, 2), 16), _
                                                  Convert.ToByte(myColor.Substring(3, 2), 16), _
                                                  Convert.ToByte(myColor.Substring(5, 2), 16), _
                                                  Convert.ToByte(myColor.Substring(7, 2), 16)))
    End Function
End Class

Il metodo gestisce anche la prima coppia di valori per assegnare il livello di trasparenza.
Come possiamo vedere nell'esempio seguente, il suo utilizzo è molto semplice.

MyBorder.BorderBrush = Helper.GetColorFromHex("#FFB9D7E1");

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi