Пример #1
0
        private protected override void OnLoaded()
        {
            base.OnLoaded();

            _picker = this.FindSubviewsOfType <UIDatePicker>().FirstOrDefault();

            if (_picker == null)
            {
                this.Log().DebugIfEnabled(() => $"No {nameof(UIDatePicker)} was found in the visual hierarchy.");
                return;
            }

            // The time zone must be the same as DatePickerSelector
            // otherwise, if a DatePicker and a TimePicker are present
            // with 2 different time zones, they will interfer one with the other
            // and result in weird behaviors (like decrementing the year when a month changes).
            _picker.TimeZone = NSTimeZone.LocalTimeZone;
            _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian);
            _picker.Mode     = UIDatePickerMode.Time;

            UpdatePickerStyle();

            _picker.ValueChanged += OnValueChanged;

            var parent = _picker.FindFirstParent <FrameworkElement>();

            //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view.
            if (parent != null)
            {
                parent.RemoveChild(_picker);
                parent.AddSubview(_picker);
            }
        }
Пример #2
0
        protected override void OnLoaded()
        {
            base.OnLoaded();

            _picker = this.FindSubviewsOfType <UIDatePicker>()
                      .FirstOrDefault();

            var parent = _picker.FindFirstParent <FrameworkElement>();

            if (_picker != null)
            {
                _picker.Mode     = UIDatePickerMode.Date;
                _picker.TimeZone = NSTimeZone.LocalTimeZone;
                _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian);
                _picker.SetDate(Date.Date.ToNSDate(), animated: false);

                //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view.
                if (parent != null)
                {
                    parent.RemoveChild(_picker);
                    parent.AddSubview(_picker);
                }

                RegisterValueChanged();
            }
        }
Пример #3
0
        protected override void OnLoaded()
        {
            base.OnLoaded();

            _picker = this.FindSubviewsOfType <UIDatePicker>().FirstOrDefault();
            if (_picker == null)
            {
                if (this.Log().IsEnabled(LogLevel.Error))
                {
                    this.Log().Error($"No {nameof(UIDatePicker)} was found in the visual hierarchy.");
                }

                return;
            }

            _picker.Mode     = UIDatePickerMode.Date;
            _picker.TimeZone = NSTimeZone.LocalTimeZone;
            _picker.Calendar = new NSCalendar(NSCalendarType.Gregorian);
            UpdatePickerValue(Date, animated: false);

            _picker.ValueChanged += OnPickerValueChanged;

            //Removing the date picker and adding it is what enables the lines to appear. Seems to be a side effect of adding it as a view.
            var parent = _picker.FindFirstParent <FrameworkElement>();

            if (parent != null)
            {
                parent.RemoveChild(_picker);
                parent.AddSubview(_picker);
            }

            UpdatMinMaxYears();
        }