我正在尝试从ListView(WPF System.Windows.Controls.ListView)中获取所选项目并将其传递给另一个变量以存储选择但我得到NullReferenceException。
List<LViewItem> onlySelectedItems = null;
var selectedItems = listView1.SelectedItems;
foreach (var item in selectedItems)
{
onlySelectedItems.Add((LViewItem)item); // Throws NullReferenceException
}
如何将所选项目保存到另一个变量以存储选择?
答案 0 :(得分:4)
问题是因为您没有初始化onlySelectedItems
列表。
List<LViewItem> onlySelectedItems = new List<LViewItem>(listView1.SelectedItems.Count);
构造函数中的参数指导为列表分配多少空间(初始容量)。哪个是所选项目的数量。
无论如何,请注意,还有其他方法可以尝试在您的视图和模型之间保持更清晰的关联(MVVM),如果您有时间,请尝试一下。它将使您恢复生产力并明确分离关注点。它不需要从头开始。像MVVM Light和Caliburn Micro这样的框架将为您提供必要的管道。
答案 1 :(得分:3)
您的onlySelectedItems
为空。首先初始化
List<LViewItem> onlySelectedItems = new List<LViewItem>();