此代码中没有错误,但是当执行它时,objTextList仍然为null并且没有获取myListBox选择的项目。为什么?
private void ButtonFill_Click(object sender, RoutedEventArgs e)
{
List<TextList> objTextList = myListBox.SelectedItems as List<TextList>;
if (objTextList == null)
return;
foreach(var item in objTextList)
{
System.Windows.MessageBox.Show(item.Id.ToString());
System.Windows.MessageBox.Show(item.Text.ToString());
System.Windows.MessageBox.Show(item.Name.ToString());
}
}
答案 0 :(得分:2)
ListBox.SelectedItems返回IList
而不是IList<TextList>
,因此强制转换返回null。您可以使用Linq扩展方法Cast来获得所需的结果。
List<TextList> objTextList = myListBox.SelectedItems.Cast<TextList>().ToList();
答案 1 :(得分:1)
我无法添加评论,所以我会在这里写一下。
请同时提供xaml
的{{1}}定义。
如果你添加这个
myListBox
输出是什么?