今回は連絡先ピッカーで選択モードを指定する方法について見ていきます。
連絡先ピッカーは、既定でユーザーが選択した連絡先のすべての情報を取得します。
選択モードを指定することで、アプリで必要なデータのみを取得するように限定することができます。
選択モードを限定するにはピッカーの SelectionMode に Windows.ApplicationModel.Contacts.ContactSelectionMode.Fields を指定します。
続いて、ピッカーの DesiredFieldsWithContactFieldType.Add メソッドで限定して取得する項目を指定します。今回はメールアドレスを取得するようにコードを記述してみます(以下コード参照)。
ピッカー表示後のif文は、連絡先が選択されていなかった場合に備えるものです。
取得したメールアドレスは、Emailsオブジェクトに入っています。Emials[0].Addressとすることで、選択された1件目のアドレスを取得することができます。
private async void btnGetContact_Click(object sender, RoutedEventArgs e)
{
var picker = new Windows.ApplicationModel.Contacts.ContactPicker();
// 選択モードをFieldsに設定
picker.SelectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.Fields;
// 連絡先ピッカーで取得するフィールドを指定
picker.DesiredFieldsWithContactFieldType.Add(
Windows.ApplicationModel.Contacts.ContactFieldType.Email);
Contact contact = await picker.PickContactAsync();
if (contact != null)
{
textBlockEmail.Text = contact.Emails[0].Address;
}
}
実行例を以下に示します。
Please follow and like us:


コメント