WP7获取联系电话号码,但出现错误


 private void abi3_Click(object sender, EventArgs e)//gonder
    {    
        foreach (var item in ContactResultsData.SelectedItems)
            {
                Contacts cons = new Contacts();
                cons.SearchCompleted += new EventHandler<ContactsSearchEventArgs>                 (Con_SearchCompleted);
                cons.SearchAsync(item.ToString(), FilterKind.DisplayName, null);
            }
  }

 void Con_SearchCompleted(object sender, ContactsSearchEventArgs e)
    {
        foreach (var contact in e.Results)
        {
            if (contact.PhoneNumbers.Count() > 0)
            {
                    textBox1.Text = textBox1.Text + ";" + contact.PhoneNumbers.FirstOrDefault();
            }

        }

我正在使用此代码获取联系人的电话号码。我有一个列表视图,所有联系人都在其中。然后我多选并显示名称和电话。

但例如,我的一个联系人姓名是"亚历克斯",另一个是"亚历克斯·德索萨"。当我选择"亚历克斯"和"亚历克斯·德索萨"时,这个程序只得到了亚历克斯的两次号码。没有显示亚历克斯·德·索萨的号码。

我该如何解决这个问题。谢谢

要回答评论中更新的问题,您可以查看联系人的DisplayName是否与搜索查询完全匹配。

查询作为对象的状态传入,如下所示

cons.SearchAsync(item.ToString(), FilterKind.DisplayName, item.ToString());

然后读取SearchCompleted事件中的状态,看看它是否完全匹配,如下所示

if (contact.PhoneNumbers.Count() > 0 && String.Equals(contact.DisplayName, e.State.ToString()))

相关内容

最新更新