0

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

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

我有一个日期列表。示例:星期一星期二星期六,我想提醒整个星期的 dat 树日。

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 提醒。我有一个时间列表。例如上午 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

4

1 回答 1

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));

它只为最近的星期一创建一个提醒,但是当这个提醒被触发时,你可以做同样的事情——为下一个星期一创建一个。

于 2013-09-16T17:11:46.923 回答