WP7 Недопустимый межпоточный доступ - ScheduledTaskAgent - PullRequest
12 голосов
/ 15 сентября 2011

В приложении WP7 я вызываю некоторый код для обновления активной плитки из метода onInvoke класса ScheduledAgent.

Получение недопустимой перекрестной ошибки.

Строка, на которой происходит сбой,

var fontForeground = new SolidColorBrush(Colors.White);

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

Есть ли что-то очевидное, что я здесь делаю неправильно?

  • спасибо

Обновление ...

Я обнаружил этот вопрос

Как отобразить текст на WriteableBitmap в фоновом потоке в Windows Phone 7?

Это та же проблема, что и у меня, и хотя здесь идет хороший диалог, не кажется, что есть простой способ обойти это?

1 Ответ

36 голосов
/ 15 сентября 2011

Используйте Dispatcher для выполнения кода в потоке пользовательского интерфейса вместо этого в фоновом потоке:

Deployment.Current.Dispatcher.BeginInvoke(()=>
    { 
         fontForeground  = new SolidColorBrush(Colors.White);
         ...        
   });
...