2012-03-05 4 views
0

При разработке приложения для Windows Phone 7.1 я столкнулся с проблемой ниже.Доступ к объекту пользовательского интерфейса из фоновой темы

У меня есть отдельная тема для управления своими взглядами. И я хочу, чтобы это получило доступ к стеку навигации, который является частью потока пользовательского интерфейса. Как я могу достичь этого?

У меня есть функция в моем диспетчере просмотра, которая получает триггер при каждом изменении вида (навигации).

Любая помощь?

ответ

3

Вы можете использовать Deployment.Current.Dispatcher.BeginInvoke для выполнения переданного делегата в потоке пользовательского интерфейса. Я не совсем понимаю специфику вашего требования. Не могли бы вы добавить больше контекста? Кроме того, this question имеет более глубокое понимание.

+0

Мне нужно очистить историю навигации, чтобы сделать это, мне нужен доступ к стеку навигации. Это действие я хочу сделать в отдельном потоке. – TutuGeorge

+2

BackEntries следует обрабатывать только в потоке пользовательского интерфейса. API является синхронным и должен вызываться из потока пользовательского интерфейса. Все может пойти не так, если вы можете стереть стек из другого потока. Вам нужно будет передать свои методы в BeginInvoke (как делегат), чтобы сделать это [http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.removebackentry (v = vs.92) .aspx). – abhinav