我正在尝试在Windows Phone应用程序中向ScheduledActionService
添加两个提醒,如下所示:
private void button1_Click(object sender, RoutedEventArgs e)
{
if (ScheduledActionService.Find("PomodoroAkshay") != null)
{
ScheduledActionService.Remove("PomodoroAkshay");
this.Storyboard_Copy1.Begin();
this.textBlock1.Text = "It's stopped!";
if (ScheduledActionService.Find("BreakAkshay") != null)
{
ScheduledActionService.Remove("BreakAkshay");
}
}
else
{
if (ScheduledActionService.Find("BreakAkshay") != null)
{
ScheduledActionService.Remove("BreakAkshay");
}
Reminder brk = new Reminder("BreakAkshay");
brk.Title = "BreakUP";
brk.Content = "Time up!";
brk.BeginTime = DateTime.Now.AddSeconds(20);
ScheduledActionService.Add(brk);
Reminder pdro = new Reminder("PomodoroAkshay");
pdro.Title = "PomodoroUP";
pdro.Content = "Time for break!";
pdro.BeginTime = DateTime.Now.AddSeconds(5);
ScheduledActionService.Add(pdro);
this.Storyboard1.Begin();
this.textBlock1.Text = "It's running!";
}
}
当我在新开始时按button1
时,else
会按预期触发。但是,我得到三个提醒。其中两个(PomodoroAkshay
和BreakAkshay
)在五秒钟后被触发。此外,BreakAkshay
按预期在20秒后触发。但是,我想要的只是在5秒后发出一个提醒,在20秒后发出第二个提醒。我哪里错了?
其他信息:语句if
会清除提醒,以便button1
充当切换按钮。
答案 0 :(得分:0)
我想我已经找到了正在发生的事情。在计算真正的小块时间时,似乎提醒并不准确 - 就像几秒钟一样。它会导致奇怪的行为。我将BeginTime
更改为几分钟,一切都按预期工作。应该就此问题提出错误。