Можно ли обновить напоминание для Windows phone

#windows-phone-7

#windows-phone-7

Вопрос:

Был бы признателен за помощь в следующем. Я создал напоминание, но хочу обновить его до или после активации функции напоминания. вот код. Проблема: он не будет работать, даже если для этого кода нет ошибки компиляции.

 
var Myreminders = ScheduledActionService.GetActions()
                .Where(a => a.BeginTime.Month == month);


            foreach (Reminder r in Myreminders)
            {
                string strMyRmd;

               strMyRmd = r.Name.ToString();

                if ( strMyRmd == "MyName1" )
                {
                    r.Title = "Today Shopping";
                }             

            }
  

Спасибо

Комментарии:

1. Вы имеете в виду, «это не работает, и нет ошибки компиляции»? Что именно означает «это не работает»?

2. Ошибка опечатки. Я отредактировал свое сообщение. я имел в виду, что даже если для кода не было ошибки компиляции, он не будет работать так, чтобы он обновлялся.

Ответ №1:

Я считаю (я не могу проверить это со своего компьютера, но подтвердил, что это работает с фоновыми агентами), что вам нужно найти свое напоминание, удалить его из службы запланированных действий, обновить и повторно добавить его.

 var reminder = (Reminder)ScheduledsActionService.Find("MyReminder");

ScheduledActionService.Remove("MyReminder");

reminder.Title = "Updated Title";

ScheduledActionService.Add(reminder);
  

Комментарии:

1. Я попробовал ваш метод. Это не сработает. Он удалил напоминание и не будет добавлять или заменять его, когда я запрашиваю с помощью reminders = ScheduledActionService . getActions<Напоминание>() для отображения всех напоминаний.

Ответ №2:

В соответствии с разделом замечаний в ScheduledActionService.Страница документации по методу getActions:

Служба запланированных действий не поддерживает ссылку на объекты, возвращаемые этим методом, и, следовательно, свойства объектов не обновляются для отражения текущего состояния после вызова getActions . Чтобы получить объект, который обновляется системой по мере изменения его состояния, вместо этого используйте Find(строка) .

Итак, просто используйте Find(String) вместо этого.

Комментарии:

1. о, черт, я не видел дату вопроса… Я думаю, проблема была решена давно, извините за беспокойство…