0

曜日と時間のリストがあり、時間とともにすべての日のリマインダーを作成したいと考えています。例 : 毎週月曜日 10 時 12 時 15 時 金曜日 10 時 12 時 15 時 土曜日 10 時 12 時 15 時。アプリケーションが 50 個のリマインダーを保存できることは知っていますが、ユーザーはその前にアプリケーションを開くと思います:D

今夜は頭の中で論理が理解できません:(助けてください。よろしくお願いします

曜日のリストがあります。例: 月曜日 火曜日 土曜日で、1 週間を通して dat tree の日のリマインダーが必要です。

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:14am 17:00pm.

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

いつでも、いつでも、今すぐリマインダーを作成したい。月曜日の午前 10 時 14 分と午後 17 時のリマインダー / 火曜日の午前 10 時 14 分と午後 17 時 / 土曜日の午前 10 時 14 分と午後 17 時

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 に答える