如何在WP7中使用带有异步调用的Dispatcher?

CAC*_*lan 2 c# silverlight asynchronous dispatcher windows-phone-7

我无法找到这样的例子,但我确信那里肯定会有一些例子.

当用户单击按钮进行登录时,按钮单击上的事件处理程序会调用记录用户的功能.根据用户,可以将它们带到多个启动屏幕之一.从服务调用返回屏幕的信息.据我所知,Dispatcher.BeginInvoke仅用于更新UI线程,因此确定要导航到哪个页面的逻辑应该在传递给Dispatcher.BeginInvoke的方法中,对吗?

我需要进行服务调用并根据结果采取行动.我是否必须首先进行异步服务调用并从回调中调用Dispatcher?我是否将执行验证的函数调用,调用服务,并将回调作为传递给Dispatcher的委托来处理?

对不起,如果这是一个基本问题.我发现的示例只使用Dispatcher来更新文本框或其他一些简单的项目.我没有找到UI线程需要根据异步调用的结果采取行动的任何内容.

Jon*_*eet 5

目前尚不清楚你在说什么验证,但是:

  • 异步调用服务,并在服务调用完成时执行回调
  • 在回调中,执行涉及的非UI相关工作,然后调用Dispatcher.BeginInvoke以执行任何与UI相关的操作.

如果你需要在服务调用之前进行验证,那么这可能是你的按钮的事件处理程序的一部分...至少只要它不是一个长期运行的验证.

如果您可以提供有关在流程中逻辑上涉及哪些步骤的更多详细信息,那将有所帮助.