2015-06-01 4 views
-1

Привет всем У меня есть список строки, какКак конвертировать список строк в наблюдаемую коллекцию в Windows Phone

List<string> numbers=new List<string>(); 

теперь я хочу, чтобы преобразовать его в наблюдаемой коллекции я преобразовал его успешно, как

ObservableCollection<string> myCollection = new ObservableCollection<string>(numbers); 

но когда я удалить элемент из списка, как

myCollection.Remove(listBox1.SelectedItem.ToString()); 
     listBox1.ItemsSource = myCollection; 

приведенных выше коды удаляли ll элемент в списке, но я хочу удалить определенный элемент в списке.

+0

'ObservableCollection числа = новый ObservableCollection ();' тада – Will

+0

Will сударь не представляется возможным b'coz чисел уже содержит в Список чисел = новый список (); – user

+0

Измените его. ObservableCollection реализует IList. – Will

ответ

2

Попробуйте

коллекция Initialize и lsitbox

List<string> numbers=new List<string>(); 
//numbers.Add("test"); //populate list 

    ObservableCollection<string> myCollection = new ObservableCollection<string>(numbers); 
    listBox1.ItemsSource = myCollection; 

теперь использовать следующий код, чтобы удалить выбранный элемент из списка

var selectedItem =listbox1.SelectedItem as string; 
if(myCollection.Contains(selectedItem) 
    { 
     myCollection.Remove(selectedItem); 
    } 
0

Вместо связывания ObservableCollection можно непосредственно связать List<string> к вашему listBox1.ItemsSource. Посмотрите этот пример, чтобы связать List<string>

windows phone data binding listpicker to List of Strings

Чтобы удалить элементы из списка попробовать этот

listBox1.Items.Remove(listBox1.SelectedItem); 
+0

Спасибо, ребята, я решил свою проблему numbers.RemoveAt (listBox1.SelectedIndex); listBox1.ItemsSource = null; listBox1.ItemsSource = числа; – user

0

Answer_:
numbers.RemoveAt (listBox1.SelectedIndex);

 listBox1.ItemsSource = null; 

     listBox1.ItemsSource = numbers; 
Смежные вопросы