private View CreateTimePicker(TimePickerItem timePickerItem)
        {
            var view = new SurveyTimePicker();

            view.BindingContext = timePickerItem;

            return(view);
        }
 private void DayDiscretePickerPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (e.PropertyName.Equals("BeginDate"))
     {
         TimePickerItem<int>[] array;
         GetMonthDaysPickerItem(out array, BeginDate.Year, BeginDate.Month);
         if (!array.Equals(_items))
         {
             _items = array;
             foreach (var item in _items)
             {
                 item.OnAvailableChanged -= new EventHandler(PickItemOnAvailableChanged);
                 item.OnAvailableChanged += new EventHandler(PickItemOnAvailableChanged);
             }
             NotifyPropertyChanged("Items");
         }
         return;
     }
 }
        protected static void GetHour24PickerItem(out TimePickerItem<int>[] array)
        {
            array = new TimePickerItem<int>[24];

            for (var i = 0; i < array.Length; i++)
            {
                array[i] = new TimePickerItem<int>(i + "时", i);
            }
        }
        protected static void GetWeeksPickerItem(out TimePickerItem<int>[] array)
        {
            array = new TimePickerItem<int>[53];

            for (var i = 1; i <= array.Length; i++)
            {
                array[i - 1] = new TimePickerItem<int>(i + "周", i);
            }
        }
        protected static void GetSeasonPickerItem(out TimePickerItem<int>[] array)
        {
            array = new TimePickerItem<int>[4];

            for (var i = 1; i <= array.Length; i++)
            {
                array[i - 1] = new TimePickerItem<int>(i + "季", i);
            }
        }
        protected static void GetMonthsPickerItem(out TimePickerItem<int>[] array)
        {
            array = new TimePickerItem<int>[12];

            for (var i = 1; i <= array.Length; i++)
            {
                array[i - 1] = new TimePickerItem<int>(i + "月", i);
            }
        }
        protected static void GetMonthDaysPickerItem(out TimePickerItem<int>[] array, int month)
        {
            if (month > 12 || month < 1)
                throw new ArgumentOutOfRangeException("month");

            int days;
            if (IsBigMonth(month))
            {
                days = 31;
            }
            else if (IsSmallMonth(month))
            {
                days = 30;
            }
            else if (IsFebruary(month))
            {
                days = 28;
            }
            else
            {
                throw new ArgumentOutOfRangeException("month");
            }

            array = new TimePickerItem<int>[days];

            for (var i = 1; i <= array.Length; i++)
            {
                array[i - 1] = new TimePickerItem<int>(i + "日", i);
            }
        }
        protected static void GetMonthDaysPickerItem(out TimePickerItem<int>[] array, int year, int month)
        {
            if (year < Settings.MinDate.Year || year > Settings.MaxDate.Year)
                throw new ArgumentOutOfRangeException("year");

            if (month > 12 || month < 1)
                throw new ArgumentOutOfRangeException("month");

            var days = DateTime.DaysInMonth(year, month);

            array = new TimePickerItem<int>[days];

            for (var i = 1; i <= array.Length; i++)
            {
                array[i - 1] = new TimePickerItem<int>(i + "日", i);
            }
        }
 public YearTimePicker()
 {
     int currentYear = DateTime.Now.Year;
     _beginYear = new TimePickerItem<int>(currentYear + "年", currentYear);
     _endYear = new TimePickerItem<int>(currentYear + "年", currentYear);
 }