2013-07-09 75 views
0
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(); 

      } 


     } 

我使用此代碼獲取我的聯繫人的電話號碼。我有一個列表視圖,所有聯繫人都在裏面。然後我多選擇並顯示名字和電話。wp7獲取聯繫人電話號碼,但出現錯誤

但是例如,我的一個聯繫人姓名是「alex」。另一個是「alex de sousa」。當我選擇「alex」和「alex de sousa」時, , 這個程序只獲得了兩次alex的號碼。 不顯示alex de soousa的號碼。

我怎麼能解決這個問題。謝謝

+0

精確匹配你確定它得到Alex的號碼兩次,而不是Alex De Sousa的號碼兩次,他們都有電話號碼設置? – keyboardP

+0

是的,我確定。對於tring,我只加了alex和alex de sousa的號碼,並且看到alex的號碼是兩次,沒有alex de sousa的號碼。兩個人都有手機號碼。 –

+0

兩個循環上'item.ToString()'的值是什麼? – keyboardP

回答

1

要回答評論中更新的問題,可以檢查聯繫人的DisplayName是否與搜索查詢完全匹配。

通查詢像這樣

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

對象的狀態,然後在SearchCompleted事件讀取狀態,看看它是否是這樣的

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

謝謝。它的工作:) –

+0

沒問題。請接受,如果這回答你的問題,以便該線程可以被標記爲已解決。 – keyboardP

+0

我該怎麼做。在這裏按鈕? –

相關問題