Windows phone 8 如何在WP8中完成搜索之前取消Contacts.SearchAsync

Windows phone 8 如何在WP8中完成搜索之前取消Contacts.SearchAsync,windows-phone-8,contacts,cancellation,Windows Phone 8,Contacts,Cancellation,我正在WP8应用程序中使用Contacts.SearchAsync获取所有用户的联系人。 但我意识到,当用户有许多联系人(如1000+时,此搜索需要很长时间 所以,我想在添加一个按钮,所以用户可以选择取消这个搜索 但我找不到任何取消搜索的方法 有没有办法在比赛结束前取消比赛 谢谢我没有使用这个,但是有解决办法 如果线程终止,则其所有子线程也将终止 因此,如果在新线程中运行此方法,则始终可以终止它。我不知道有什么方法可以取消搜索,但另一种方法是忽略搜索的完成 void Contacts_Searc

我正在WP8应用程序中使用Contacts.SearchAsync获取所有用户的联系人。 但我意识到,当用户有许多联系人(如1000+时,此搜索需要很长时间

所以,我想在添加一个按钮,所以用户可以选择取消这个搜索

但我找不到任何取消搜索的方法

有没有办法在比赛结束前取消比赛


谢谢

我没有使用这个,但是有解决办法

如果线程终止,则其所有子线程也将终止


因此,如果在新线程中运行此方法,则始终可以终止它。

我不知道有什么方法可以取消搜索,但另一种方法是忽略搜索的完成

void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
   if (!searchWasCancelled)
   {
       // Process the search results
   }
}

但是Contacts_SearchCompleted不是只有在Contacts搜索完成后才会运行吗?是的,但是Contacts.SearchAsync方法是异步运行的(即在后台),因此您的应用程序可以继续运行,就好像搜索从未发生过一样。您甚至可以开始第二次搜索(例如,如果您想提供其他条件),并且只处理第二次搜索的结果!