2013-04-30 59 views
0

在引导程序中,我有两个视图。使用IRegionManager,我在第一个和第二个视图之间导航。如何在返回服务结果后实现逻辑导航

第一个视图包含一个搜索框。用户键入一个字符串,单击搜索。第一个视图将字符串传递给第二个视图。第二个视图使用此字符串来调用服务以获取项目列表。

到目前为止一切正常,但我想做这个异步(也添加一个ProgressIndicator)。这是我不希望应用程序在用户点击搜索按钮时锁定。

我希望应用程序的行为,像这样:(我已经实现)

  1. 用户输入一个搜索字符串,并在搜索点击
  2. 用户应保留在第一视图与进步酒吧变得可见(我已实施)
  3. 在后台搜索应该对数据库进行异步调用。 (已执行)
  4. 从服务返回结果后,视图应该更改为第二个视图并显示结果。 (我还没有能够实现这一点)

我该如何实现第4步行为?

回答

0

有几种不同的方式可以使您的服务异步调用。在可用的选项中,我建议使用BackgroundWorker,它可以处理大多数脏东西,或者使用.NET 4.5新增的Task

对于BackgroundWorker,您可以在this answer中找到一个简单示例,您还可以通过搜索找到更多示例。

对于Task,您可以在MSDN here上阅读它,并通过简单的网络搜索找到许多示例。