情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Contacts.SearchAsync メソッド

2013/12/12

ユーザーの連絡先データで連絡先を非同期に検索します。

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 である場合、フィルター パラメーターは無視されます。フィルターを使用して連絡先を検索する方法の詳細については、「Windows Phone の連絡先のフィルタリングと照合」を参照してください。

state オブジェクトは、ContactsSearchEventArgs クラスに格納され、操作が完了したときに SearchCompleted デリゲートに渡されます。

Contacts 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

サポート: 8.0, 7.1

表示: