Ejemplo n.º 1
0
        public CalendarWeekViewModel(DateTime date)
        {
            _date = date;

            // Vytvoření Commandů pro navigaci kalendářem po týdnech
            Command_CurrentWeek  = new ChangeViewModelCommand <CalendarWeekViewModel>(DateTime.Now);
            Command_PreviousWeek = new ChangeViewModelCommand <CalendarWeekViewModel>(_date.AddDays(-7));
            Command_NextWeek     = new ChangeViewModelCommand <CalendarWeekViewModel>(_date.AddDays(7));

            DayCells = new();
            for (int i = 0; i < 7; i++)
            {
                DayCells.Add(new DayCellViewModel(FirstDay.AddDays(i)));
            }
        }
Ejemplo n.º 2
0
        public CalendarMonthViewModel(DateTime yearAndMonth)
        {
            _yearAndMonth = yearAndMonth;

            // Vytvoření Commandů pro navigaci kalendářem po měsících
            Command_CurrentMonth  = new ChangeViewModelCommand <CalendarMonthViewModel>(DateTime.Now);
            Command_PreviousMonth = new ChangeViewModelCommand <CalendarMonthViewModel>(_yearAndMonth.AddMonths(-1));
            Command_NextMonth     = new ChangeViewModelCommand <CalendarMonthViewModel>(_yearAndMonth.AddMonths(1));

            // Získá den týdne (po-ne) prvního dne měsíce (a stanoví pondělí jako první den týdne)
            FirstDayOfWeek = ((int)(new DateTime(Year, Month, 1).DayOfWeek) + 6) % 7;

            // Do Listu s buňkami přidá tolik buněk, kolik má měsíc dnů, a zviditelní je
            DayCells = new();
            for (int i = 0; i < DateTime.DaysInMonth(Year, Month); i++)
            {
                DayCells.Add(new DayCellViewModel(new DateTime(Year, Month, i + 1))
                {
                    Visibility = Visibility.Visible
                });
            }
        }