2014-02-06 1 views
0

Я просто начинаю программировать, и я пытаюсь сделать приложение для Windows-телефона в своем приложении. Я хочу, чтобы можно было выбирать контакты. Сначала я помещал его в поле списка, и он отлично работает, но я хочу сделать его лучше, поэтому я хочу поместить его в Longlistselector. Здесь возникают проблемы. Это ошибка, которую я получаю: «System.Collections.Generic.List» не содержит определения для «SearchCompleted» и никакого метода расширения «SearchCompleted», принимающего первый аргумент типа «System.Collections.Generic.List», может быть найдено (вы пропали без вести с помощью директивы или сборка не ссылаетсяКак заполнить LongListSelector результатами поиска в Контакты.

I не его не собрания, а вот где я заблудился. у меня есть длинный listlongselector совершенного в XAML, но это, где я сбиваюсь.

namespace contacts 
{ 
public partial class MainPage : PhoneApplicationPage 
{ 
    int TapCount = 0; 

    List<Contacts> contacts = new List<Contacts>(); 

    // Constructor 
    public MainPage() 
    { 
     InitializeComponent(); 
     contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted); 
     SearchContacts(String.Empty); 

    } 

    private async void SayWords(string words) 
    { 
     SpeechSynthesizer synth = new SpeechSynthesizer(); 

     await synth.SpeakTextAsync(words); 


    } 




    void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e) 
    { 
     ContactList.ItemsSource = contacts; 
    } 

    private void SearchContacts(string searchterm) 
    { 
     contacts.SearchAsync(searchterm, FilterKind.DisplayName, null); 
    } 


    } 
} 

ответ

0

Вы не должны создать List из Contacts. List не имеет SearchCompleted событие. Contacts класс. Затем ItemSource вашего LongListSelecter должен быть установлен в e.Results в обработчик событий:

namespace contacts 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     int TapCount = 0; 

     var contacts = new Contacts(); 

     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
      contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted); 
      SearchContacts(String.Empty); 
     } 

     void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e) 
     { 
      ContactList.ItemsSource = e.Results; 
     } 

     private void SearchContacts(string searchterm) 
     { 
      contacts.SearchAsync(searchterm, FilterKind.DisplayName, null); 
     } 
    } 
} 

Надеется, что это помогает.