Windows Phone:警报类未按预期触发
Posted
技术标签:
【中文标题】Windows Phone:警报类未按预期触发【英文标题】:Windows Phone: Alarm class not firing as intended 【发布时间】:2013-11-14 17:24:13 【问题描述】:您好,我正在为 windows mobile 创建一个简单的闹钟,但我的闹钟类没有按预期触发。这是我的代码:
public void AddAlaram()
Alarm alarm = new Alarm("Wakeup");
alarm.Content = ("Time to wake up!");
alarm.BeginTime = DateTime.Now.AddSeconds(5);
alarm.ExpirationTime = DateTime.Now.AddHours(alarmHours);
alarm.Sound= new Uri("/Resources/GoodMorning.wav",UriKind.Relative);
ScheduledActionService.Add(alarm);
总的来说,我对编程有点陌生。我的布局是我制作了一个列表框,其中包含从 1 到 24 的可滚动项目。然后我设置了闹钟,以便
int alarmHours = 0;
if(_1.IsSelected)
alarmHours = 1;
等等(我知道冗长且不必要,但我不知道如何优化那个 atm)。
所以我的理解是,如果选择了例如 6,那么警报到期时间应该是现在的时间 + 6 小时。但是当我运行模拟器时,它会在几秒钟内触发。
哦,这是代码的下一行,它是我制作的弹出窗口的计时器,当您单击添加警报按钮时会出现。我觉得这是把它搞砸了,但我不太明白怎么做?
AlarmPopup.IsOpen = true;
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 3, 0);
timer.Tick += tick;
timer.Start();
任何帮助将不胜感激。谢谢!
【问题讨论】:
【参考方案1】:您已将闹钟设置为 5 秒后响起:
alarm.BeginTime = DateTime.Now.AddSeconds(5);
BeginTime 是警报触发的时间。 ExpirationTime 是警报到期的时间。这对于重复警报很有用,例如如果我想让闹钟每天响起,但只在接下来的 5 天内响起,那么我应该将 ExpirationTime 设置为从现在起的 5 天。
【讨论】:
我有点自责,因为我没有意识到它是如此简单。我误解了开始时间和到期时间的含义。非常感谢。以上是关于Windows Phone:警报类未按预期触发的主要内容,如果未能解决你的问题,请参考以下文章
e.PreventDefault()未按预期触发,表单提交[重复]