【问题标题】:How to convert string list to observable collection in windows phone如何在windows phone中将字符串列表转换为可观察的集合
【发布时间】:2015-06-04 16:05:27
【问题描述】:

大家好,我有一个类似的列表字符串

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

现在我想在可观察的集合上转换它,我已经成功地转换了它

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

但是当我从列表框中删除一个项目时,比如

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

上面的代码删除了列表框中的所有项目,但我想删除列表框中的特定项目。

【问题讨论】:

  • ObservableCollection&lt;string&gt; numbers=new ObservableCollection&lt;string&gt;();多田
  • 请问先生不可能 b'coz numbers 已包含在 List numbers=new List();
  • 改变它。 ObservableCollection 实现了 IList。

标签: c# windows-phone-8


【解决方案1】:

试试这个

初始化集合和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);
   }

【讨论】:

    【解决方案2】:

    您可以直接将List&lt;string&gt; 绑定到您的listBox1.ItemsSource,而不是绑定ObservableCollection。看这个例子绑定List&lt;string&gt;

    windows phone data binding listpicker to List of Strings

    要从列表中删除项目试试这个

    listBox1.Items.Remove(listBox1.SelectedItem);
    

    【讨论】:

    • 谢谢你们,我已经解决了我的问题 numbers.RemoveAt(listBox1.SelectedIndex); listBox1.ItemsSource = null; listBox1.ItemsSource = 数字;
    【解决方案3】:

    答案_:
    numbers.RemoveAt(listBox1.SelectedIndex);

            listBox1.ItemsSource = null;
    
            listBox1.ItemsSource = numbers;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多