Я пишу BackgroundAgent
для моего приложения WP7, которое периодически загружает изображение из Интернета, модифицирует его, а затем обновляет живую плитку. Я обнаружил, что загрузка растрового изображения является асинхронной и требует регистрации события ImageOpened
.
sourceBitmap.ImageOpened += new EventHandler<RoutedEventArgs>((sender, e) => ...
Проблема в том, что это выводит меня из основного потока, который вернется обратно к ScheduledAgent и вызовет NotifyComplete()
до завершения нового потока. Я предполагаю, что это вызовет проблемы и не идеально.
Есть ли способ заставить основной поток ждать, пока изображение будет загружено, отредактировано и помещено в живую плитку?
Или мне просто нужно использовать поля IsComplete
и Thread.Sleep()
, пока оно не станет истинным?