2012-03-05 135 views
0

在为Windows Phone 7.1开发应用程序时,遇到了以下问题。从后台线程访问UI对象

我有单独的线程来管理我的意见。我想要这个访问导航堆栈,这是UI线程的一部分。我怎样才能做到这一点?

我在我的视图管理器中有一个函数,每次发生视图更改(导航)时都会触发它。

任何帮助?

回答

3

您可以使用Deployment.Current.Dispatcher.BeginInvoke在UI线程上执行传递的委托。我不清楚你的要求的具体情况。你能添加更多的上下文吗?此外,this question有更多的洞察力。

+0

我需要清除我的导航历史,为了做到这一点,我需要访问导航堆栈。这个动作我想在一个单独的线程中完成。 – TutuGeorge 2012-03-05 13:17:42

+2

只能在UI线程上操作BackEntries。该API是同步的,应该从UI线程调用。如果你可以从另一个线程擦除堆栈,事情可能会出错。您必须将您的方法传递给BeginInvoke(作为委托)以执行[this](http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.removebackentry(v = vs.92)的.aspx)。 – abhinav 2012-03-05 13:46:44