public override async void ExecCustom(IUserIO handler) { base.ExecCustom(handler); NextStepAssistantType = typeof(WidgetCfgAssistant_CalendarCircleWave_OptionsBase); if (await handler.UserShowYesNoMessage(localize.DayColorType, localize.DayColorTypeCustomInfo, localize.action_continue, localize.action_abort)) { List <xColor> xclrs = new List <xColor>(); int iClr = 0; while (true) { iClr++; var clr = await handler.UserSelectColor("Color number " + iClr); if (clr == null) { break; } else { xclrs.Add(clr.Value); } } if (xclrs.Count > 0) { var cfg = BaseSample.GetConfigClone(); cfg.DayBackgroundGradient = new DateGradient() { GradientS = { new DynamicGradient(cfg.TimeUnit, xclrs.ToArray()) } }; BaseSample = new WidgetCfgSample <WidgetCfg_CalendarCircleWave>("custom", xclrs.ToArray(), cfg); } NextStepAssistantType = typeof(WidgetCfgAssistant_CalendarCircleWave_CutomDayColorGradientTimeSpan); handler.TriggerPositiveButtonClicked(); } }