Прежде всего, убедитесь, что вы установили MvvmCross.Plugin.Color
как в свой проект Android
, так и в проект PCL/NetStandard
.
Тогда ваш конвертер должен быть в вашем проекте PCL / NetStandard и наследоваться от MvxColorValueConverter<DateTime>
, чтобы ваш цвет не зависел от вашей платформы:
public class AppointmentFeedHeaderGroupColorValueConverter: MvxColorValueConverter<DateTime>
{
private static readonly IDateTimeService DateTimeService = Mvx.Resolve<IDateTimeService>();
private static readonly MvxColor HeaderGroupBlack = new MvxColor(0,0,0);
private static readonly MvxColor HeaderGroupRedLight = new MvxColor(255,0,0); // red_light, should see how to convert this to RGB values
protected override MvxColor Convert(DateTime value, object parameter, CultureInfo culture)
{
if (value != DateTimeService.Now.Date)
{
return HeaderGroupRedLight;
}
return HeaderGroupBlack;
}
}
Наконец, используйте преобразователь цвета, как вы сейчас делаете:
TextColor AppointmentFeedHeaderGroupColor(StartTime)
Подробнееинформация:
MvvmCross Color docs
MvvmCross.Plugin.Color.MvxColorValueConverter.cs
И здесь у вас есть полный LinkerPleaseInclude файл предоставлен MvvmCross.
HIH