public override Dialog OnCreateDialog(Bundle savedInstanceState)
        {
            var builder  = new AlertDialog.Builder(Activity);
            var inflater = Activity.LayoutInflater;

            var selectedDate = GetSelectedDate();

            var dialog = inflater.Inflate(Resource.Layout.date_picker_dialog, null);

            _monthPicker = (NumberPicker)dialog.FindViewById(Resource.Id.picker_month);
            _yearPicker  = (NumberPicker)dialog.FindViewById(Resource.Id.picker_year);

            InitializeMonthPicker(selectedDate.Month);
            InitializeYearPicker(selectedDate.Year);
            SetMaxMinDate(MaxDate, MinDate);

            builder.SetView(dialog)
            .SetPositiveButton("Ok", (sender, e) =>
            {
                selectedDate = new DateTime(_yearPicker.Value, _monthPicker.Value, DefaultDay);
                OnDateTimeChanged?.Invoke(dialog, selectedDate);
            })
            .SetNegativeButton("Cancel", (sender, e) =>
            {
                Dialog.Cancel();
                OnClosed?.Invoke(dialog, selectedDate);
            })
            .SetNeutralButton("Limpar", (sender, e) =>
            {
                Dialog.Cancel();
                OnClosed?.Invoke(dialog, selectedDate);
            });
            return(builder.Create());
        }
Ejemplo n.º 2
0
 void NotifyDateChanged()
 {
     OnDateTimeChanged?.Invoke(this, new DateEventArgs(SelectedDate));
 }
Ejemplo n.º 3
0
 protected virtual void OnCalendarDaySelectedDoubleClick(object sender, EventArgs e)
 {
     OnDateTimeChanged?.Invoke(this, new DateEventArgs(SelectedDate));
     Close();
 }