Windows Phone:警报类未按预期触发

时间:2013-11-14 17:24:14

标签: c# windows-phone alarm

您好我正在为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 个答案:

答案 0 :(得分:1)

您已将闹钟设置为在5秒后熄灭:

alarm.BeginTime = DateTime.Now.AddSeconds(5);

BeginTime是警报触发的时间。 ExpirationTime是警报到期的时间。这对于重复发生的警报很有用,例如:如果我想让警报每天都停止,但仅限于接下来的5天,那么我应该将ExpirationTime设置为5天后。