基本上我試圖從手機中拉出聯繫人並在Listpicker控件中爲我的應用中的某個功能顯示它們。我有兩個Listpickers,一個用於聯繫人列表的名稱,另一個顯示所選聯繫人的電話號碼列表。無法顯示Wp7 Listpicker控件中的選定項目
這裏是我的代碼:
//Declarations
ContactsSearchEventArgs e1;
String SelectedName;
String SelectedNumber;
List<string> contacts = new List<string>();
List<string> phnum = new List<string>();
public AddressBook() // Constructor
{
InitializeComponent();
Contacts contacts = new Contacts();
contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
contacts.SearchAsync(string.Empty,FilterKind.None,null);
}
void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
e1 = e;
foreach (var result in e.Results)
{
if (result.PhoneNumbers.Count() != 0)
{
contacts.Add(result.DisplayName.ToString());
}
}
Namelist.ItemsSource = contacts;
}
private void Namelist_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
SelectedName = (sender as ListPicker).SelectedItem.ToString();
phnum.Clear();
foreach (var result in e1.Results)
{
if (SelectedName == result.DisplayName)
{
phnum.Add(result.PhoneNumbers.FirstOrDefault().ToString());
}
}
Numbers.ItemsSource = phnum;
}
private void Numbers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
SelectedNumber = (sender as ListPicker).SelectedItem.ToString();
}
我能夠與PHONENUMBERS用於在Listpicker背景所選擇的名稱來填充Numberlist,但數量沒有出現在前面了。我認爲Numbers_SelectionChanged()事件只在頁面加載時被調用一次,並且當我更改聯繫人列表時沒有看到它觸發。任何人都知道哪裏出錯了?
感謝您的回覆。我也嘗試過使用ObservableCollection ..但它仍然是一樣的。另外我不認爲這是2011年11月的Listpicker問題,因爲它在其他頁面中工作正常。 – Sri 2012-03-06 20:51:00
這不起作用,因爲他沒有在ItemsSource和集合之間創建綁定。 – AlexDrenea 2012-03-06 21:18:39