c# - paleta - ¿Cómo puedo establecer valores de colores personalizados en un campo Xaml Value?
xamarin forms background color rgba (2)
Lo siento, me equivoqué aquí. La forma de usar esto es con valores de coma flotante que van de 0 a 1.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="sc#1.0,0.7,1.0,0.5"></Setter>
</Trigger>
Para usar los valores ARGB debemos usar esto, un poco menos directo
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush>
<SolidColorBrush.Color>
<Color A="255" R="250" G="200" B="150"/>
</SolidColorBrush.Color>
</SolidColorBrush>
</Setter.Value>
</Setter>
</Trigger>
Actualizar
También puede usar una MarkupExtension
personalizada
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="{markup:BrushFromArgb 255, 250, 200, 150}"/>
</Trigger>
BrushFromArgbExtension
public class BrushFromArgbExtension : MarkupExtension
{
public BrushFromArgbExtension() { }
public BrushFromArgbExtension(byte a, byte r, byte g, byte b)
{
A = a;
R = r;
G = g;
B = b;
}
public byte A { get; set; }
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
return new SolidColorBrush(Color.FromArgb(A, R, G, B));
}
}
Y una MarkupExtension
similar también podría usarse para Color
<SolidColorBrush Color="{markup:FromArgb 255, 255, 200, 150}"/>
FromArgbExtension
public class FromArgbExtension : MarkupExtension
{
public FromArgbExtension() { }
public FromArgbExtension(byte a, byte r, byte g, byte b)
{
A = a;
R = r;
G = g;
B = b;
}
public byte A { get; set; }
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
return Color.FromArgb(A, R, G, B);
}
}
Así que tengo algo de XAML como este:
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="Red"></Setter>
</Trigger>
¿Cómo puedo configurar el color Red
, a algo así como 250 200 150
? Intenté Color 250 200 150
y 250 200 150
, pero no funciona. ¿Algunas ideas?
Use colores de estilo HTML.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FF0000"></Setter>
</Trigger>
O, si quieres transparencia alfa:
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#80FF0000"></Setter>
</Trigger>
O usando su color de ejemplo de 250,200,150:
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FAC896"></Setter>
</Trigger>