Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La clase SolidColorBrush deriva de la clase Brush y se usa para pintar un área con un color sólido. Hay varios enfoques para especificar el color de un SolidColorBrush. Por ejemplo, puedes especificar su color con un valor Color o mediante uno de los objetos SolidColorBrush predefinidos proporcionados por la clase Brush.
La clase SolidColorBrush define la propiedad Color, de tipo Color, que representa el color del pincel. Esta propiedad está respaldada por un objeto BindableProperty, lo que significa que puede ser el destino de los enlaces de datos, y con estilo.
La clase SolidColorBrush también tiene un método IsEmpty que devuelve un bool, que representa si se ha asignado un color al pincel.
Creación de un SolidColorBrush
Hay tres técnicas principales para crear un SolidColorBrush. Puedes crear un SolidColorBrush partir de un Color, usar un pincel predefinido o crear un SolidColorBrush mediante notación hexadecimal.
Uso de un color predefinido
Xamarin.Forms incluye un convertidor de tipos que crea un SolidColorBrush a partir de un valor de Color. En XAML, esto permite crear un objeto SolidColorBrush a partir de un valor Color predefinido:
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
En este ejemplo, el fondo del Frame se pinta con un SolidColorBrush azul oscuro:

Como alternativa, el valor Color se puede especificar mediante la sintaxis de etiquetas de propiedad:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
En este ejemplo, el fondo del Frame se pinta con un SolidColorBrush cuyo color se especifica estableciendo la propiedad SolidColorBrush.Color.
Uso de un pincel predefinido
La Brush clase define un conjunto de objetos SolidColorBrush usados habitualmente. En el ejemplo siguiente se usa uno de estos objetos SolidColorBrush predefinidos:
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
El código de C# equivalente es el siguiente:
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
En este ejemplo, el fondo del Frame se pinta con un SolidColorBrush indigo:

Para obtener una lista de objetos SolidColorBrush predefinidos proporcionados por la clase Brush, consulta Pinceles de color sólido.
Uso de la notación hexadecimal
También se pueden crear objetos SolidColorBrush mediante notación hexadecimal. Con este enfoque, se especifica un color en términos de la cantidad de rojo, verde y azul para combinar en un solo color. El formato principal para especificar un color mediante notación hexadecimal es #rrggbb, donde:
rres un número hexadecimal de dos dígitos que especifica la cantidad relativa de rojo.gges un número hexadecimal de dos dígitos que especifica la cantidad relativa de verde.bbes un número hexadecimal de dos dígitos que especifica la cantidad relativa de azul.
Además, el color se puede especificar como #aarrggbb, donde aa especifica el valor alfa, o la transparencia, del color. Este enfoque le permite crear colores que sean parcialmente transparentes.
En el ejemplo siguiente se establece el valor de color de un SolidColorBrush mediante notación hexadecimal:
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
En este ejemplo, el fondo del Frame se pinta con un SolidColorBrush de color salmón:

Para ver otras formas de describir el color, consulte Colores en Xamarin.Forms.
Pinceles de color sólido
Para mayor comodidad, la clase Brush proporciona un conjunto de objetos SolidColorBrush usados habitualmente, como AliceBlue y YellowGreen. En la imagen siguiente se muestra el color de cada pincel predefinido, su nombre y su valor hexadecimal:
