#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. о, черт, я не видел дату вопроса… Я думаю, проблема была решена давно, извините за беспокойство…