Пример #1
0
 public MyTaskCalendar()
 {
     InitializeComponent();
     Dates             = new ObservableCollection <DateTime>();
     days.ItemsSource  = Dates;
     days.SelectedItem = CurrentDate;
     InitializeDays();
     MessagingCenter.Instance.Subscribe <CalendarPopup, (int, int)>(this, "updateMonthYear",
                                                                    (s, data) =>
     {
         Device.BeginInvokeOnMainThread(() =>
         {
             if (CurrentDate.Year + CurrentDate.Month != data.Item1 + data.Item2)
             {
                 CurrentDate = new DateTime(data.Item1, data.Item2, 1);
                 LoadDays(Convert.ToInt32(data.Item1), Convert.ToInt32(data.Item2));
                 days.SelectedItem = CurrentDate;
                 days.ScrollTo(1);
                 labelMonth.Text = Enum.GetName(typeof(Months), (Months)(CurrentDate.Month));
                 labelYear.Text  = CurrentDate.Year.ToString();
                 if (CurrentDateChangedCommand != null)
                 {
                     CurrentDateChangedCommand.Execute(CurrentDate);
                 }
             }
         });
     });
 }
Пример #2
0
        private void TapGestureRecognizer_OnTapped(object sender, EventArgs e)
        {
            var frame       = (Frame)sender;
            var currentDate = frame.BindingContext;

            days.SelectedItem = (DateTime)currentDate;

            SetCurrentDate((DateTime)currentDate);

            days.ScrollTo(CurrentDate.Day - 1, position: ScrollToPosition.Center);
            if (CurrentDateChangedCommand != null)
            {
                CurrentDateChangedCommand.Execute((DateTime)currentDate);
            }
        }