1

私はこのコードを持っています:

private async void ButtonSelectContact_OnTapped(object sender, TappedRoutedEventArgs e)
{
    var contactPicker = new Windows.ApplicationModel.Contacts.ContactPicker
    {
        CommitButtonText = "Invite"
    };
    var contact = await contactPicker.PickSingleContactAsync();
    if (contact != null)
    {
        textBoxPerson.Text = contact.Name;
        textBoxEmail.Text = contact.Emails[0].ToString();
    }
}

..これはうまく機能しますが、連絡先を選択した後、textBoxEmail.Textに「Windows.ApplicationModel.Contacts.ContactField」(「rupertTpupkin@kingOfComedy.com」のようになります)が含まれます。

4

2 に答える 2

2

これは、オブジェクトcontacts.Emailsのリストだからです。ContactField必要なメールアドレスを取得するために使用contact.Emails[0].Valueします。.Typeメールアドレスの種類を取得するために使用できます。

公式MSDNドキュメント: http: //msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.contacts.contactfield

于 2012-12-20T01:56:52.300 に答える
1

クラスの実装時にToString()メソッドをオーバーライドしなかったため、クラス名を返すオブジェクトのToString()メソッドを呼び出しています。呼び出しcontact.Emails[0].Valueて値を取得できます。

于 2012-12-20T01:56:02.683 に答える