internal void HandleAction(int tag)
        {
            clickedtag = tag;
            switch (tag)
            {
            case 1:
                model = new PickerModel(displaymodelist);
                break;

            case 2:
                model = new PickerModel(positionlist);
                break;

            case 3:
                model = new PickerModel(selectionindicatorlist);
                break;

            case 4:
                model = new PickerModel(overflowlist);
                break;
            }
            model.PickerChanged -= PickerIndexChanged;
            model.PickerChanged += PickerIndexChanged;
            picker.Model         = model;
            picker.ReloadAllComponents();
            doneButton.Hidden = false;
            picker.Hidden     = false;
            BecomeFirstResponder();
        }
Пример #2
0
        void SetItemsSource()
        {
            if (Element.ItemsSource == null)
            {
                return;
            }

            var itemCount = Element.ItemsSource.Cast <object>().ToList().Count;

            if (itemCount > 0)
            {
                for (var i = 0; i < itemCount; i++)
                {
                    AddObjectToSource(i);
                }
            }

            if (collectionChanged == null)
            {
                collectionChanged = (INotifyCollectionChanged)Element.ItemsSource;
                collectionChanged.CollectionChanged += (s, ev) =>
                {
                    if (Element == null || Control == null)
                    {
                        return;
                    }

                    if (ev.Action == NotifyCollectionChangedAction.Add)
                    {
                        AddObjectToSource(ev.NewStartingIndex);
                    }
                    else if (ev.Action == NotifyCollectionChangedAction.Reset)
                    {
                        if (pickerModel != null)
                        {
                            pickerModel.ResetData();
                            picker.ReloadAllComponents();
                            //Adapter.NotifyDataSetChanged();
                            //isReset = true;
                        }
                    }
                };
            }
        }
Пример #3
0
 /// <summary>
 /// Updates the picker.
 /// </summary>
 private void UpdatePicker()
 {
     Control.Placeholder = Element.Title;
     Control.Text        = (Element.SelectedIndex <= -1 || Element.Items == null) ? "" : Element.Items[Element.SelectedIndex];
     _picker.ReloadAllComponents();
     if (Element.SelectedIndex > -1 && Element.Items != null && Enumerable.Any <string>(Element.Items))
     {
         _picker.Select(Element.SelectedIndex, 0, true);
     }
 }
        void UpdateItems()
        {
            var items = _TextPickerCell.Items ?? new List <object>();

            _model.SetItems(items);
            // Force picker view to reload data from model after change
            // Otherwise it might access the model based on old view data
            // causing "Index was out of range" errors and the like.
            _picker.ReloadAllComponents();
            Select(_TextPickerCell.SelectedItem);
        }
        void UpdatePicker()
        {
            var selectedIndex = Element.SelectedIndex;
            var items         = Element.Items;

            _picker.ReloadAllComponents();
            if (items == null || items.Count == 0)
            {
                return;
            }

            UpdatePickerSelectedIndex(selectedIndex);
        }
            public override void Selected(UIPickerView pickerView, nint row, nint component)
            {
                if (_styledPicker.SelectedItems.Count > 0 && _styledPicker.SelectedItems.Count >= (int)component)
                {
                    _styledPicker.SelectedItems[(int)component] = (_styledPicker.ItemsSource[(int)component][(int)row]);
                }
                else
                {
                    _styledPicker.SelectedItems.Add(_styledPicker.ItemsSource[(int)component][(int)row]);
                }

                _currentSelected = row;

                pickerView.ReloadAllComponents();
            }
Пример #7
0
        void UpdatePicker()
        {
            var selectedIndex = Element.SelectedIndex;
            var items         = Element.Items;

            Control.Placeholder = Element.Title;
            var oldText = Control.Text;

            Control.Text = selectedIndex == -1 || items == null ? "" : items[selectedIndex];
            UpdatePickerNativeSize(oldText);
            _picker.ReloadAllComponents();
            if (items == null || items.Count == 0)
            {
                return;
            }

            UpdatePickerSelectedIndex(selectedIndex);
        }
Пример #8
0
        void ItemChanged()
        {
            if (model != null)
            {
                model.CustomSelectionChanged -= Model_SelectedChanged;
            }

            var title = segmentedControl.TitleAt(segmentedControl.SelectedSegment);

            currentAgent = new Agent(title);
            agentView.ConfigureAgent(currentAgent);
            currentAgent.Animate();

            animations       = currentAgent.GetAnimations();
            model            = new AnimationsModel(animations);
            pickerView.Model = model;
            pickerView.ReloadAllComponents();
            model.CustomSelectionChanged += Model_SelectedChanged;
        }
Пример #9
0
        UIAlertController CreateAlert(UITextField uITextField)
        {
            var paddingTitle = 0;

            if (!string.IsNullOrEmpty(VirtualView.Title))
            {
                paddingTitle += 25;
            }

            var pickerHeight = 240;
            var frame        = new RectangleF(0, paddingTitle, 269, pickerHeight);
            var pickerView   = new UIPickerView(frame);

            pickerView.Model = new PickerSource(VirtualView);
            pickerView?.ReloadAllComponents();

            var pickerController = UIAlertController.Create(VirtualView.Title, "", UIAlertControllerStyle.ActionSheet);

            // needs translation
            pickerController.AddAction(UIAlertAction.Create("Done",
                                                            UIAlertActionStyle.Default,
                                                            action => FinishSelectItem(pickerView, uITextField)
                                                            ));

            if (pickerController.View != null && pickerView != null)
            {
                pickerController.View.AddSubview(pickerView);
                var doneButtonHeight = 90;
                var height           = NSLayoutConstraint.Create(pickerController.View, NSLayoutAttribute.Height, NSLayoutRelation.Equal, null, NSLayoutAttribute.NoAttribute, 1, pickerHeight + doneButtonHeight);
                pickerController.View.AddConstraint(height);
            }

            var popoverPresentation = pickerController.PopoverPresentationController;

            if (popoverPresentation != null)
            {
                popoverPresentation.SourceView = uITextField;
                popoverPresentation.SourceRect = uITextField.Bounds;
            }

            return(pickerController);
        }
Пример #10
0
 public void ReloadAllComponents()
 {
     _pickerView.ReloadAllComponents();
 }
Пример #11
0
 protected void ReloadData()
 {
     _pickerView.ReloadAllComponents();
 }
 protected override void Reload()
 {
     _pickerView.ReloadAllComponents();
     _pickerView.Select(0, 0, false);
     _pickerView.Select(0, 1, false);
 }