다음을 통해 공유


ContactPickerUI 클래스

정의

하나 이상의 연락처를 선택할 수 있도록 연락처 선택기 UI를 호출할 수 있습니다.

public ref class ContactPickerUI sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class ContactPickerUI final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class ContactPickerUI
Public NotInheritable Class ContactPickerUI
상속
Object Platform::Object IInspectable ContactPickerUI
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
앱 기능
contactsSystem

예제

이 예제 코드는 ContactPickerUI를 사용하도록 페이지를 준비합니다.

ContactPickerUI contactPickerUI = MainPagePicker.Current.contactPickerUI;
CoreDispatcher dispatcher = Window.Current.Dispatcher;

public ContactPickerPage()
{
    this.InitializeComponent();
    ContactList.ItemsSource = contactSet;
    ContactList.SelectionChanged += ContactList_SelectionChanged;
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    contactPickerUI.ContactRemoved += contactPickerUI_ContactRemoved;
}

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    contactPickerUI.ContactRemoved -= contactPickerUI_ContactRemoved;
}

async void contactPickerUI_ContactRemoved(ContactPickerUI sender, ContactRemovedEventArgs args)
{
    // The event handler may be invoked on a background thread, so use the Dispatcher to run the UI-related code on the UI thread.
    string removedId = args.Id;
    await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        foreach (SampleContact contact in ContactList.SelectedItems)
        {
            if (contact.Id == removedId)
            {
                ContactList.SelectedItems.Remove(contact);
                OutputText.Text += "\n" + contact.DisplayName + " was removed from the basket";
                break;
            }
        }
    });
}

이 예제 코드에서는 AddContact(Contact) 메서드를 사용하여 장바구니에 연락처를 추가하는 방법을 보여 줍니다.

switch (contactPickerUI.AddContact(contact))
{
    case AddContactResult.Added:
        // Notify the user that the contact was added
        OutputText.Text = contact.DisplayName + " was added to the basket";
        break;
    case AddContactResult.AlreadyAdded:
        // Notify the user that the contact is already added
        OutputText.Text = contact.DisplayName + " is already in the basket";
        break;
    case AddContactResult.Unavailable:
    default:
        // Notify the user that the basket is unavailable
        OutputText.Text = contact.DisplayName + " could not be added to the basket";
        break;
}

이 예제 코드는 장바구니에서 연락처를 제거하고 제거에 응답하는 방법을 보여줍니다.

foreach (SampleContact removed in e.RemovedItems)
{
    if (contactPickerUI.ContainsContact(removed.Id))
    {
        contactPickerUI.RemoveContact(removed.Id);
        OutputText.Text = removed.DisplayName + " was removed from the basket";
    }
}

설명

이 클래스를 사용하는 방법의 예를 보려면 코드 샘플을 검사.

속성

DesiredFields

사용자가 하나 이상의 연락처를 선택한 후 반환할 필드를 지정합니다.

참고

DesiredFields는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 DesiredFieldsWithContactFieldType을 사용합니다.

DesiredFieldsWithContactFieldType

사용자가 하나 이상의 연락처를 선택한 후 반환하려는 연락처 필드 형식의 필드를 가져옵니다.

SelectionMode

연락처 선택기 선택 모드를 결정합니다. 가장 일반적인 옵션은 PickSingleContactAsync 또는 PickMultipleContactsAsync입니다.

메서드

AddContact(Contact)

연락처를 추가합니다.

AddContact(String, Contact)

연락처를 추가합니다.

참고

addContact는 Windows 8.1 후 릴리스에서 변경되거나 사용할 수 없습니다. 대신 ID 없이 AddContact 를 사용합니다.

ContainsContact(String)

사용자가 연락처를 이미 선택했는지 확인합니다.

RemoveContact(String)

연락처를 제거합니다.

이벤트

ContactRemoved

사용자가 연락처를 선택 취소하거나 제거할 때 발생합니다.

적용 대상