Вы можете достичь этого, написав конвертер, который получит тип и отправит соответствующий цвет с этим типом.
Сначала добавьте одно перечисление в ваш объект
public enum ActionType
{
Delete = 0,
Archive = 1,
Cancel = 2
};
Добавьте один конвертер, который возвращает цвет на основе типа вашего действия
class FileIconConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
switch ((ActionType)value)
{
case ActionType.Delete:
return Color.Red;
case ActionType.Archive:
return Color.Yellow;
case ActionType.Canncel:
return Color.Gray;
}
}
return Color.Black;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Добавьте эту запись конвертера вв APP.xaml
<Convert:ActionTypeConverter x:Key="ActionTypeConverter"></Convert:ActionTypeConverter>
Затем вы можете добавить этот конвертер в свой файл xaml
<Label BackgroundColor="{Binding ActionType, Converter={StaticResource ActionTypeConverter}}"/>
Он прекрасно работает для меня, надеюсь, это будет работать.