2012-03-05 6 views
0

Windows Phone 7.1 용 응용 프로그램을 개발하는 동안 아래 문제가 발생했습니다.백그라운드 스레드에서 UI 개체에 액세스

내 의견을 관리하기위한 별도의 스레드가 있습니다. 그리고 UI 스레드의 일부인 탐색 스택에 액세스하려고합니다. 내가 어떻게 이걸 얻을 수 있니?

필자는 뷰 관리자에서 뷰 변경 (탐색)이 발생할 때마다 트리거되는 기능을 가지고 있습니다.

어떤 도움이 필요합니까?

답변

3

Deployment.Current.Dispatcher.BeginInvoke을 사용하면 전달 된 대리자를 UI 스레드에서 실행할 수 있습니다. 귀하의 요구 사항에 대한 구체적인 내용이 명확하지 않습니다. 컨텍스트를 추가 할 수 있습니까? 또한 this question에 더 많은 정보가 있습니다.

+0

내 탐색 기록을 지우려면 Navigation 스택에 액세스해야합니다. 이 작업은 별도의 스레드에서 수행하려고합니다. – TutuGeorge

+2

BackEntries는 UI 스레드에서만 조작해야합니다. API는 동기식이며 UI 스레드에서 호출해야합니다. 다른 스레드에서 스택을 지울 수 있다면 상황이 잘못 될 수 있습니다. BeginInvoke (위임자)에 메서드를 전달하여 [this] (http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.removebackentry (v = vs.92) .aspx). – abhinav

관련 문제