1

当我在模拟器中测试我的应用程序时,联系人列表就会出现。但是当我在设备联系人列表中测试时没有显示。我正在使用 HTC 雷达。这是我的代码片段:

AddressChooserTask addressTask;        
    public ContactsPage()
    {
        InitializeComponent();
        addressTask = new AddressChooserTask();
        addressTask.Completed += new EventHandler<AddressResult>(addressTask_Completed);
    }

    void addressTask_Completed(object sender, AddressResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            string displayName = e.DisplayName;

            Contacts contacts = new Contacts();
            contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
            contacts.SearchAsync(displayName, FilterKind.DisplayName, null);
        }
    }        


private void btnChooseContacts_Click(object sender, RoutedEventArgs e)
    {
        addressTask.Show();
    }

请任何人让我摆脱问题!提前致谢 !

4

1 回答 1

0

你做了很多奇怪的事情。
第一,您在 foreach 循环中一遍又一遍地分配相同的对象。因此,如果最后一项为空白,则生成的文本框将为空白。
第二,您试图引用一个可能为空的属性。FirstOrDefault() 可以返回 null,因此请检查。
第三。您确实应该使用数据绑定并将结果绑定到列表框(或其他可数据绑定的 UI 元素)。

于 2012-06-01T08:54:54.437 回答