public CalendarGroupViewModel(XamScheduleDataManager dataManager, ICalendarService calendarService, IEventAggregator eventAggragator, IApplicationCommands applicationCommands) { CalendarUnselectedCommand = new DelegateCommand <object>(CalendarUnselectedCommandExecuted); DateNavigatorSelectedDatesCommand = new DelegateCommand <ObservableCollection <DateTime> >(OnDateNavigatorSelectedDates); CalendarService = calendarService; EventAggregator = eventAggragator; ApplicationCommands = applicationCommands; DataManager = dataManager; GenerateMenu(); _unselectedCalendarChangedEvent = EventAggregator.GetEvent <UnselectedCalendarChangedEvent>(); _selectedCalendarChangedEvent = eventAggragator.GetEvent <SelectedCalendarChangedEvent>(); _selectedCalendarChangedEvent.Subscribe(OnSelectedCalendarChanged); _calendarClosedEvent = EventAggregator.GetEvent <CalendarClosedEvent>(); _calendarClosedEvent.Subscribe(OnCalendarClosed); _dateNavigatorSelectedDatesChanged = EventAggregator.GetEvent <DateNavigatorSelectedDatesChanged>(); _outlookDateNavigatorSelectedDatesChanged = EventAggregator.GetEvent <OutlookDateNavigatorSelectedDatesChanged>(); _outlookDateNavigatorSelectedDatesChanged.Subscribe(OnOutlookDateNavigatorSelectedDatesChanged); _canExecuteDateNavigatorSelectedDatesCommand = true; }