protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e) { base.OnElementChanged(e); if (!(e.NewElement is BlankDatePicker bPicker)) { return; } blankPicker = bPicker; Control.ShouldEndEditing += textField => { var seletedDate = textField; var text = seletedDate.Text; if (text == bPicker.Placeholder) { Control.Text = DateTime.Now.ToString(bPicker.Format); } return(true); }; if (Control == null) { SetNativeControl(new UITextField { RightViewMode = UITextFieldViewMode.Always, ClearButtonMode = UITextFieldViewMode.WhileEditing, }); } SetPlaceholder(); SetUIButtons(); SetAlignment(); }
protected override void OnElementChanged(ElementChangedEventArgs <Entry> e) { base.OnElementChanged(e); if (!(e.NewElement is BlankDatePicker bPicker)) { return; } blankPicker = bPicker; if (Control != null) { Control.SpellCheckingType = UITextSpellCheckingType.No; Control.AutocorrectionType = UITextAutocorrectionType.No; Control.AutocapitalizationType = UITextAutocapitalizationType.None; Control.BorderStyle = UITextBorderStyle.RoundedRect; Control.AccessibilityTraits = UIAccessibilityTrait.Button; UIMenuController.SharedMenuController.MenuVisible = false; Control.EditingDidBegin += OnStarted; Control.EditingDidEnd += OnEnded; if (IsiOS9OrNewer) { Control.InputAssistantItem.LeadingBarButtonGroups = null; Control.InputAssistantItem.TrailingBarButtonGroups = null; } _picker = new UIDatePicker { Mode = UIDatePickerMode.Date, TimeZone = new NSTimeZone("UTC") }; _picker.ValueChanged += HandleValueChanged; if (UIDevice.CurrentDevice.CheckSystemVersion(13, 2)) { _picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels; } Control.InputView = _picker; Control.InputView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight; SetInputAccessoryView(); UpdateDate(); UpdateMaximumDate(); UpdateMinimumDate(); SetAttributes(); } }
protected override void OnElementChanged(ElementChangedEventArgs <Entry> e) { base.OnElementChanged(e); if (!(e.NewElement is BlankDatePicker bPicker)) { return; } blankPicker = bPicker; if (e.NewElement != null) { if (Control != null) { if (!string.IsNullOrEmpty(Control.Text)) { Control.Text = string.Empty; } Control.Focusable = true; Control.Clickable = false; Control.InputType = InputTypes.Null; blankPicker.Focused += OnClick; //Control.TextChanged += (sender, arg) => //{ // if (bPicker.Text != arg.Text.ToString()) // bPicker.Text = arg.Text.ToString(); //}; SetAttributes(); UpdateDate(); } } if (e.OldElement != null) { Control.SetOnClickListener(null); } }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.DatePicker> e) { base.OnElementChanged(e); if (!(e.NewElement is BlankDatePicker bPicker)) { return; } blankPicker = bPicker; if (e.NewElement != null) { if (Control != null) { this.Control.Click += OnPickerClick; this.Control.Text = Element.Date.ToString(Element.Format); this.Control.KeyListener = null; Control.TextChanged += (sender, arg) => { var selectedDate = arg.Text.ToString(); if (selectedDate == bPicker.Placeholder) { Control.Text = DateTime.Now.ToString(bPicker.Format); } }; } } if (e.OldElement != null) { this.Control.Click -= OnPickerClick; } SetPlaceholder(); SetAlignment(); Control.SetPadding(0, 7, 0, 3); Control.Gravity = Android.Views.GravityFlags.Fill; }