SearchAsync 메서드

2012-02-09

사용자의 연락처 데이터에서 연락처를 비동기식으로 검색합니다.

Namespace:  Microsoft.Phone.UserData
어셈블리:  Microsoft.Phone(Microsoft.Phone.dll)

public void SearchAsync(
	string filter,
	FilterKind filterKind,
	Object state
)

매개 변수

filter
형식: System..::..String
연락처 검색에 사용할 필터입니다.
filterKind
형식: Microsoft.Phone.UserData..::..FilterKind
연락처를 검색할 때 사용할 필터의 종류입니다.
state
형식: System..::..Object
작업에 대한 정보를 포함한 사용자 정의 개체입니다.

filterKindEmailAddress, PhoneNumber 또는 DisplayName인 경우 filter에 일치시킬 문자열이 포함되어야 합니다. filterKindNone 또는 PinnedToStart인 경우 filter 매개 변수는 무시됩니다. 필터를 사용하여 연락처를 일치시키는 방법에 대한 자세한 내용은 Windows Phone의 연락처 필터링 및 일치를 참조하십시오.

작업이 완료되면 state 개체는 ContactsSearchEventArgs 클래스에 저장되고 SearchCompleted 대리자에 전달됩니다.

연락처 API를 사용하는 응용프로그램은 시작에 실패할 수 있습니다. 이런 현상은 Windows Phone OS 7.0에서 Windows Phone OS 7.1로 업그레이드한 응용프로그램에서 발생할 수 있습니다. 이 문제를 해결하려면 WMAppManifest.xml 파일을 열고 다음 요소를 추가합니다.

<Capability Name="ID_CAP_CONTACTS"/>

다음 예에서는 SearchContacts이라는 버튼이 포함된 페이지가 있는 Windows Phone 응용프로그램을 사용한다고 가정합니다. 이 코드는 ContactResultsData라는 데이터 바인딩된 목록 상자가 있다고 가정합니다. XAML을 포함한 전체 코드는 방법: Windows Phone의 연락처 데이터 액세스를 참조하십시오.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using Microsoft.Phone.Controls;
using Microsoft.Phone.UserData;

namespace ContactsAndCalendarTestApp
{
    public partial class ContactsPage : PhoneApplicationPage
    {
        // Constructor
        public ContactsPage()
        {
            InitializeComponent();
        }


        private void SearchContacts_Click(object sender, RoutedEventArgs e)
        {
            ContactResultsData.DataContext = null;

            Contacts cons = new Contacts();

            cons.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(Contacts_SearchCompleted);

            cons.SearchAsync(“A”, FilterKind.DisplayName, "Contacts Test #1");
        }


        void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
        {
            //MessageBox.Show(e.State.ToString());

            try
            {
                //Bind the results to the list box that displays them in the UI.
                ContactResultsData.DataContext = e.Results;
            }
            catch (System.Exception)
            {
                //That's okay, no results.
            }
        }
    }
}

Windows Phone OS

지원: 7.1

Windows Phone

표시: