sábado, 13 de febrero de 2010

Silverlight: Convertir un nombre de color predefinido a SolidColorBrush

Si trabajas con Silverlight es posible que necesites utilizar nombre de colores ("Green","Black", "DarkGreen", etc.) para las propiedades relacionadas con colores. Si intentas hacer esto mismo desde código te encontrarás que no hay ninguna función que convierta el String a un objeto del tipo SolidColorBrush.

Googleando un poco he llegado al siguiente post: My Silverlight experiences: Color / SolidColorBrush object from color name in silverlight El código en si no me ha funcionado pero me ha dado la pista para crear la función siguiente:

        Public Function ConvertToSolidColorBrush(ByVal hexacolor As String) As SolidColorBrush

Dim s As String = String.Format("<SolidColorBrush xmlns='http://schemas.microsoft.com/client/2007' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' Color='{0}'></SolidColorBrush>", hexacolor)
Dim brush As SolidColorBrush = CType(Markup.XamlReader.Load(s), SolidColorBrush)
Return brush

End Function

Te será realmente útil si al cargar información de configuración.

No hay comentarios:

Publicar un comentario