而不是destinationList从字符串数组逐个添加每个项目到ListBox ,m_List如下所示:
foreach (object name in m_List)
{
destinationList.Items.Add((string)name);
}
Run Code Online (Sandbox Code Playgroud)
有什么更好的方法可以做到吗?
我不想将数据绑定到destinationList,因为我想稍后从ListBox中删除一些条目.
如果你只想更优雅地表达它,那么也许这会起作用.
stringList.ForEach(item => listBox1.Items.Add(item));
Run Code Online (Sandbox Code Playgroud)
HTH:
string[] list = new string[] { "1", "2", "3" };
ObservableCollection<string> oList;
oList = new System.Collections.ObjectModel.ObservableCollection<string>(list);
listBox1.DataContext = oList;
Binding binding = new Binding();
listBox1.SetBinding(ListBox.ItemsSourceProperty, binding);
(listBox1.ItemsSource as ObservableCollection<string>).RemoveAt(0);
Run Code Online (Sandbox Code Playgroud)
只需使用(ItemSource as ObservableCollection)...来处理项目,而不是Items.Add等.