partial void Done(NSObject sender)
        {
            var selectedDate = DateTime.SpecifyKind((DateTime)DatePicker.Date, DateTimeKind.Utc).ToLocalTime();

            DateSelected?.Invoke(this, selectedDate);
            Close();
        }
 public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
 {
     SelectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth);
     if (DisplayText != null)
     {
         DisplayText.Text = SelectedDate.Value.ToString(DateFormat ?? DefaultDateFormat);
     }
     DateSelected?.Invoke(this, SelectedDate.Value);
 }
 public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
 {
     if (DateSelected != null)
     {
         DateSelected.Invoke
         (
             new DateTime(year, monthOfYear + 1, dayOfMonth)
             , EventArgs.Empty
         );
     }
 }
Exemple #4
0
        public MauiTimePicker(Action dateSelected)
        {
            BorderStyle = UITextBorderStyle.RoundedRect;

            _picker = new UIDatePicker {
                Mode = UIDatePickerMode.Time, TimeZone = new NSTimeZone("UTC")
            };
            _dateSelected = dateSelected;

            if (PlatformVersion.IsAtLeast(14))
            {
                _picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels;
            }

            var width   = UIScreen.MainScreen.Bounds.Width;
            var toolbar = new UIToolbar(new RectangleF(0, 0, width, 44))
            {
                BarStyle = UIBarStyle.Default, Translucent = true
            };
            var spacer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);

            var doneButton = new UIBarButtonItem(UIBarButtonSystemItem.Done, (o, a) =>
            {
                DateSelected?.Invoke(this, EventArgs.Empty);
                _dateSelected?.Invoke();
            });

            toolbar.SetItems(new[] { spacer, doneButton }, false);

            InputView          = _picker;
            InputAccessoryView = toolbar;

            InputView.AutoresizingMask          = UIViewAutoresizing.FlexibleHeight;
            InputAccessoryView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;

            InputAssistantItem.LeadingBarButtonGroups  = null;
            InputAssistantItem.TrailingBarButtonGroups = null;

            AccessibilityTraits = UIAccessibilityTrait.Button;
        }
Exemple #5
0
        public MauiTimePicker()
#endif
        {
            BorderStyle = UITextBorderStyle.RoundedRect;

            _picker = new UIDatePicker {
                Mode = UIDatePickerMode.Time, TimeZone = new NSTimeZone("UTC")
            };

#if !MACCATALYST
            _dateSelected = dateSelected;
#endif

            if (OperatingSystem.IsIOSVersionAtLeast(14))
            {
                _picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels;
            }

            InputView = _picker;

#if !MACCATALYST
            InputAccessoryView = new MauiDoneAccessoryView(() =>
            {
                DateSelected?.Invoke(this, EventArgs.Empty);
                _dateSelected?.Invoke();
            });

            InputAccessoryView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;
#endif

            InputView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;

            InputAssistantItem.LeadingBarButtonGroups  = null;
            InputAssistantItem.TrailingBarButtonGroups = null;

            AccessibilityTraits = UIAccessibilityTrait.Button;
        }
        public async void CalendarDateSelected(object s, EventArgs e)
        {
            var sl = s as CustomCalendarStackLayout;

            if (selectedLayout != null)
            {
                ClearPreviousSelected(selectedLayout);
            }
            selectedLayout     = sl;
            sl.BackgroundColor = selectedDateColor;
            switch (sl.dateType)
            {
            case GlobalVar.MonthView:
                selectedDate = sl.dateTime;
                DateSelected?.Invoke(this, selectedDate);
                await Navigation.PopModalAsync(false);

                break;

            case GlobalVar.YearView:
                MonthLayout(sl.DateTimeInfo);
                break;
            }
        }
 public DatePickerFragment(EditText displayText, Android.Support.V4.App.FragmentManager fragmentManager)
 {
     DisplayText              = displayText;
     DisplayText.TextChanged += (o, e) =>
     {
         try
         {
             String curDateString = DisplayText.Text.Trim();
             String format        = "";
             if (Regex.IsMatch(curDateString, "\\d{2}(\\/|-)[a-zA-Z]{3}(\\/|-)\\d{4}"))
             {
                 format = "dd/MMM/yyy";
             }
             else if (Regex.IsMatch(curDateString, "\\d{2}(\\/|-)\\d{2}(\\/|-)\\d{4}"))
             {
                 format = "dd/MM/yyy";
             }
             else
             {
                 return;
             }
             DateTime curDate = DateTime.Parse(curDateString);
             if (SelectedDate != null && curDate == SelectedDate)
             {
                 return;
             }
             SelectedDate     = curDate;
             DisplayText.Text = curDate.ToString(DefaultDateFormat);
             DateSelected?.Invoke(this, SelectedDate.Value);
         }
         catch (Exception)
         {
         }
     };
     DisplayText.Click += (o, e) => Show(fragmentManager, TAG);
 }
Exemple #8
0
 public void NotifyDateSelected(DateTime dateSelected)
 {
     DateSelected?.Invoke(this, dateSelected);
 }
 void ActionButton_TouchUpInside(object sender, EventArgs e)
 {
     DateSelected?.Invoke(_datePicker.Date.ToDateTime());
 }
Exemple #10
0
 private void button1_Click(object sender, EventArgs e)
 {
     DateSelected?.Invoke(this, new DateSelectedArgs {
         BeginDate = beginPicker.Value, EndDate = endPicker.Value
     });
 }
Exemple #11
0
 protected virtual void OnDateSelection(DateSelectedEventArgs e)
 {
     DateSelected?.Invoke(this, e);
 }
Exemple #12
0
 private void DatePickerDateSelected(object sender, DateChangedEventArgs args)
 {
     DateSelected?.Invoke(sender, args);
 }