2013-07-09 3 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(); 

      } 


     } 

이 코드를 사용하여 내 연락처의 전화 번호를 얻습니다. 나는 listview 있고 모든 연락처가 있습니다. 그럼 나는 멀티 선택하고 이름과 전화를 보여줍니다.wp7 전화 번호를 가져 오지만 오류가 있습니다.

예를 들어, 내 연락처 이름 중 하나는 "alex"입니다. 다른 하나는 "alex de sousa"입니다. "alex"와 "alex de sousa"를 선택할 때, 이 프로그램은 단지 alex 's number를 두 번 얻습니다. alex de soousa의 번호를 표시하지 않습니다.

어떻게이 문제를 해결할 수 있습니까? 감사합니다

+0

같은 정확히 일치하는 인 경우에이

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

같은 객체의 상태로 쿼리

패스는 그 다음 알렉스의 도착이 확인되는 SearchCompleted 이벤트 상태를 읽고 참조 Alex De Sousa의 전화 번호가 두 번이 아니고 두 번 전화 번호가 정해져 있습니까? – keyboardP

+0

예 저는 확신합니다. tring을 위해, 나는 alex 's와 alex de sousa의 수를 추가했고, alex의 수는 두 번이고 alex de sousa의 수는 없다는 것을 알았다. 그들 둘 다에는 휴대 전화 번호가있다. –

+0

두 루프에서'item.ToString()'의 값은 무엇입니까? – keyboardP

답변

1

의견에서 업데이트 된 질문에 답변하려면 연락처의 DisplayName이 검색어와 정확하게 일치하는지 확인하십시오. 그것은이

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

감사합니다. 그것은 일했다 :) –

+0

괜찮아. 스레드가 해결 된 것으로 표시 될 수 있도록 귀하의 질문에 대한 답변을 수락하면 동의하십시오. – keyboardP

+0

어떻게 할 수 있습니까? 여기있는 버튼이 있습니까? –

관련 문제