我从ListBox的WPF附加行为中获取所选项目的列表,如下所示:
private void ListBoxSelectionChanged(object param)
{
var selectedItems = param;
SelectedMItems = selectedItems.ToString().Split(',').ToList<string>();
//Console.WriteLine(selectedItems.ToString());
}
虽然它有效但是还有其他更好的方法。
答案 0 :(得分:2)
SelectedItems
属性是IList
,所以我假设你的对象也是。
在这种情况下,最简单的做法是:
// If the list already contains strings
SelectedMItems = ((IList)selectedItems).Cast<string>().ToList();
// If the list contains other objects
SelectedMItems = ((IList)selectedItems).Cast<object>().Select(o => o.ToString()).ToList();
答案 1 :(得分:1)
这样的事情可能有用,为了“更安全”:
var items = param as ObservableCollection<string>;
甚至只是一个可枚举的:
var items = param as IEnumerable<string>;
然后你有一系列正确的项目。