2013-06-27 91 views
0

我正在編寫與Windows Phone和metro共享的共享應用程序。我需要在Metro App中的XAML代碼後面的Worker線程中調用我的UI線程。是的,我知道我可以通過使用異步和等待來完成它。但我不能使用它,因爲這個東西不會被其他平臺(Android和Phone)支持。從Metro App中的工作線程調用UI線程

在Windows Phone中,我知道這可以使用Deployment.Dispatcher.Current.BeginInvoke()來完成。但我不知道它是如何做在一個地鐵應用程序

此外,我是C#和應用程序開發新手。所以如果你能詳細介紹它,這將會有所幫助。

回答

0

在不久的將來,我希望我們能夠在Android/WP/Windows Store上使用便攜式類庫上的asyncasync如果您將後臺操作視爲用戶界面的「服務」,而不將用戶界面視爲後臺操作的「服務」,則效果最佳。因此,如果通過將大型後臺操作拆分爲更小的塊並使UI側驅動它們,在每個塊之間進行更新來重構它,則代碼將更好地工作。當你的代碼以這種方式構建時,你的後臺操作將不再需要編組到UI。

如果你只是想用較少的工作得到一些東西,你可以使用SynchronizationContext。當您的後臺操作開始時,捕獲SynchronizationContext.Current並稍後使用SendPost方法從後臺操作運行UI更新。這會導致設計更加混亂,但它在今天的Android/WP/Windows應用商店中仍然有用。

相關問題