private void On_AppBar_Save(object sender, EventArgs e) { // alarm time // song name to be played when alarm is triggered DateTime alarmTime = DateTime.Parse(alarmTimeOnADay); // the alarm needs to go off the next day so // add 1 alarmTime.AddDays(1.0); AlarmItem alarm = new AlarmItem(); alarm.AlarmTime = alarmTime; alarm.SongName = App.SongName; // Do we need to send some UI object from the main page here ? App.ListAlarms.Add(alarm); NavigationService.GoBack(); }
// Methods public void AddAlarm(AlarmItem alarmItem, FrameworkElement uiObject) { if (alarmItem.IsNew) { if (alarmItem.AlarmTime <= DateTime.Now) { alarmItem.AlarmTime = alarmItem.AlarmTime.AddDays(1); } TimeSpan alarmInterval = alarmItem.AlarmTime - DateTime.Now; alarmItem.UIObject = uiObject; // When creating timer, need to pass some UI object so that // the timer can use the dispatcher on that object Timer alarmTimer = new Timer(AlarmTimerCallback, alarmItem, (long)alarmInterval.TotalMilliseconds, (long)alarmInterval.TotalMilliseconds); alarmItem.IsNew = false; } }