如何在Windows Phone上更新ScheduledActionService中的现有警报?

时间:2012-05-11 00:03:46

标签: windows-phone-7 windows-phone-7.1 alarm scheduledactionservice

在我的应用中,我有一个Alarm,计划在上午8:00(BeginTime)开始。我面临的问题是我不确定更新BeginTime的最合适方式。

我尝试在Alarm中找到ScheduledActionService,然后从那里更新它。不幸的是,它似乎不起作用,Alarm永远不会被触发。

        var schedule = ScheduledActionService.Find(alarmModel.Name);

        if (schedule != null)
        {
            var alarm = (Alarm)schedule;

            if (alarm.BeginTime != alarmModel.BeginTime)
            {
                alarm.BeginTime = alarmModel.BeginTime;
            }
        }

如果我从ScheduledActionService中删除它,然后添加一个新的,那么它就可以了。

但这看起来很丑陋......这是我能'更新'Alarm ???的唯一方法!

谢谢,

1 个答案:

答案 0 :(得分:2)

没有。正确的方法必须是致电Replace()。

   var schedule = ScheduledActionService.Find(alarmModel.Name);

    if (schedule != null)
    {
        var alarm = (Alarm)schedule;

        if (alarm.BeginTime != alarmModel.BeginTime)
        {
            alarm.BeginTime = alarmModel.BeginTime;
            ScheduledActionService.Replace(alarm);
        }
    }