每周提醒很多天

时间:2013-09-13 22:16:29

标签: c# windows-phone-8 alarm reminders

我有一个日期和时间列表,我想随时创建所有日子的提醒。 例如:周一上午10点12点15点,周五上午10点,上午15点,下午15点,周六,每周上午10点,上午12点,下午15点。 我知道应用程序可以存储50个提醒,但我认为用户之前打开了应用程序:D

我今晚不明白我心中的逻辑:(请帮助我。 最好的问候

我有一个日期列表。例如:星期一星期二星期六,我想要提醒整周的数据树日。

private ObservableCollection<Day> _days;
        public ObservableCollection<Day> Days
        {
            get { return _days; }
            set { _days = value; RaisePropertyChanged("Days"); }
        }

创建提醒:

Reminder r = new Reminder("Time To Train!!!");
r.Content = AppResources.TimeToTrain;
r.BeginTime = //Here the problem;
r.ExpirationTime = //Here the problem //DateTime.Now.AddDays(52 * 7));
r.RecurrenceType = RecurrenceInterval.Weekly;
r.NavigationUri = new Uri("/View/MainPage.xaml", UriKind.RelativeOrAbsolute);
ScheduledActionService.Add(r);

我看这篇文章是为了一些想法。Windows Phone 7 Reminders。 我有一个时间列表。例如,上午10:14,下午17:00。

private ObservableCollection<DateTime> _times;
            public ObservableCollection<DateTime> Times
            {
                get { return _days; }
                set { _days = value; RaisePropertyChanged("Times"); }
            }

我想在所有日子里随时创建提醒。 星期一上午10:14和下午17:00 /星期二上午10:14和下午17:00 /星期六上午10:14和下午17:00提醒星期一

1 个答案:

答案 0 :(得分:1)

因此,假设您想在星期一上午12点创建提醒。我首先创建一种方法来找出未来星期一的第一次“发生”,如下所示:

private DateTime getFirstDate(DayOfWeek day, TimeSpan time)
        {
            DateTime date = DateTime.Today;
            while(date.DayOfWeek != day)
                date.AddDays(1);

            return new DateTime(date.Year,date.Month,date.Day,time.Hours,time.Minutes,time.Seconds);
        }

然后在你的代码中使用它:

r.BeginTime = getFirstDate(DayOfWeek.Monday, new TimeSpan(12,0,0));

它只为最近的星期一创建提醒,但是当触发此提醒时,您可以执行相同的操作 - 为下周一创建一个提醒。

相关问题