//IASMultiSelectActionSheetDelegate
        public void ActionSheetPressedButtonAtIndex(ASMultiSelectActionSheet.ASMultiSelectActionSheet actionSheet, NSIndexPath index, ASMultiSelectActionSheetButton sender)
        {
            if (actionSheet != null)
            {
                if (sender.Style == ASMultiSelectActionSheetButtonStyle.Cancel)
                {
                    //TODO Perform any cancellation activities here
                    actionSheet.DismissAnimated(true);
                    return;
                }
                else if (sender.Style == ASMultiSelectActionSheetButtonStyle.PerformAction)
                {
                    //TODO Do whatever you need to when PerformAction button is tapped.
                    //      Button.data is an object so use it in whatever way you need.
                    List <TestItem> items = actionSheet.Sections?.ElementAt(0)?.Buttons?
                                            .Where(b => b.Style == ASMultiSelectActionSheetButtonStyle.MultiSelect && b.Selected)
                                            .Select(b => (TestItem)b.Data).ToList();
                    Action <List <TestItem> > command = (Action <List <TestItem> >)sender.Data;
                    command.Invoke(items);
                }

                actionSheet.DismissAnimated(true);
            }

            return;
        }
        private void DisplayBasicFunctionality(object sender, EventArgs e)
        {
            var buttons = DemoData.Select(o => new Tuple <string, object>(o.Text, o)).ToList();

            if (buttons == null || !buttons.Any())
            {
                return;
            }

            //The receiver of this action is an object; you can use whatever you need here or nothing at all
            Action <List <TestItem> > goAction = (items) => PerformGoAction(items);

            var optionsSection = new ASMultiSelectActionSheetSection("Multi Select", "Choose Your Options", buttons, ASMultiSelectActionSheetButtonStyle.MultiSelect, "GO!", goAction);

            if (optionsSection == null)
            {
                return;
            }

            var alertSheet = new ASMultiSelectActionSheet.ASMultiSelectActionSheet(new List <ASMultiSelectActionSheetSection> {
                optionsSection
            }, this);

            var vc = _app.PresentedViewController();

            alertSheet.ShowInView(vc.View, true);
        }
 public void ActionSheetWillPresent(ASMultiSelectActionSheet.ASMultiSelectActionSheet actionSheet)
 {
     return;
 }
 public void ActionSheetWillDismiss(ASMultiSelectActionSheet.ASMultiSelectActionSheet actionSheet)
 {
     return;
 }