public static View Render(AdaptiveAction action, AdaptiveRenderContext context) { if (!context.Config.SupportsInteractivity || !context.ActionHandlers.IsSupported(action.GetType())) { return(null); } var button = CreateActionButton(action, context); var view = CreateActionButton(action, context); button.Clicked += new EventHandler((object sender, EventArgs e) => { bool isInputMissing = false; if (context.InputBindings.Count > 0) { isInputMissing = true; var dict = context.UserInputs.AsDictionary(); foreach (var binding in dict.Values) { if (!string.IsNullOrWhiteSpace(binding)) { isInputMissing = false; break; } } } if (isInputMissing) { var missingInput = new MissingAdaptiveInput(); missingInput.Message = "Select at least one option."; context.InvokeMissingInput(action, new MissingInputEventArgs(missingInput, button)); } else { context.InvokeAction(button, new AdaptiveActionEventArgs(action)); button.IsEnabled = false; } }); return(button); }
public MissingInputEventArgs(MissingAdaptiveInput input, View view) { this.View = view; this.AdaptiveInput = input; }