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:
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) ) ); } }
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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Gestire la cancellazione di una richiesta in streaming da Blazor
Creare alias per tipi generici e tuple in C#
Eseguire attività basate su eventi con Azure Container Jobs
Utilizzare Model as a Service su Microsoft Azure
Usare le collection expression per inizializzare una lista di oggetti in C#
Utilizzare Azure Cosmos DB con i vettori
Usare lo spread operator con i collection initializer in C#
Creare una custom property in GitHub
Gestire liste di tipi semplici con Entity Framework Core
Utilizzare Copilot con Azure Cosmos DB