Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回服务结果后,如何实现导航逻辑_C#_Mvvm_Unity Container_Prism 4 - Fatal编程技术网

C# 返回服务结果后,如何实现导航逻辑

C# 返回服务结果后,如何实现导航逻辑,c#,mvvm,unity-container,prism-4,C#,Mvvm,Unity Container,Prism 4,在bootstrapper中,我有两种观点。使用IRegionManager,我在第一个视图和第二个视图之间导航 第一个视图包含一个搜索框。用户键入字符串,单击搜索。第一个视图将字符串传递给第二个视图。第二个视图使用此字符串调用服务以获取项目列表 到目前为止,一切都很好,但我想让它异步(还添加了ProgressIndicator)。也就是说,当用户单击搜索按钮时,我不希望应用程序锁定 我希望应用程序的行为如下: 用户输入一个搜索字符串,然后单击搜索(我已经实现了) 用户应该保持在第一个视图上,并

在bootstrapper中,我有两种观点。使用IRegionManager,我在第一个视图和第二个视图之间导航

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

到目前为止,一切都很好,但我想让它异步(还添加了ProgressIndicator)。也就是说,当用户单击搜索按钮时,我不希望应用程序锁定

我希望应用程序的行为如下:

  • 用户输入一个搜索字符串,然后单击搜索(我已经实现了)
  • 用户应该保持在第一个视图上,并使进度条可见(我已经实现了)
  • 在后台,搜索应该对数据库进行异步调用。(实施)
  • 一旦结果从服务返回,视图应更改为带有结果的第二个视图。(我还没能实现这一点)

  • 如何实现步骤4行为?

    有几种不同的方法可以使对服务的调用异步。在可用的选项中,我建议使用
    BackgroundWorker
    ,为您处理大部分脏活,或者使用.NET 4.5中新增的
    任务

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

    对于
    任务
    ,您可以在上阅读,并通过简单的web搜索找到许多示例