エクスポート (0) 印刷
すべて展開

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
操作に関する情報を含む、ユーザー定義のオブジェクト。

filterKindEmailAddressPhoneNumber、または 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"/>

以下の例では、Windows Phone アプリケーションに SearchContacts という名前のボタンを含むページが存在していることを前提としています。また、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 でサポート

表示:
© 2014 Microsoft