发生无效的Cast Exception

时间:2015-04-21 08:45:26

标签: wpf

int[] checkeditemslist = new int[ChkList.Items.Count];//ChkList is Listbox name in xaml

ListBoxItem lt =((ListBoxItem)ChkList.Items[i]);

现在我收到了错误 发生了System.InvalidCastException类型的异常,但未在用户代码中处理 无法将CheckListItem类型的对象转换为System.Windows.Controls.ListBoxItem类型。

2 个答案:

答案 0 :(得分:0)

试试这个

List<string> checkedItems = new List<string>();
    foreach (ListItem liCheckedItems in ChkList.Items)
            {
    checkedItems.add(liCheckedItems.Value)
    }

答案 1 :(得分:0)

由于错误表明它是类型转换错误,您的ChkList包含类CheckListItem的项目,并且您正在尝试将它们转换为ListBoxItem,因此系统正在生成System.InvalidCastException(无效的投射例外)

请确保您使用正确类的对象填充列表,并在从同一列表类型中检索对象时,将列表中的对象强制转换为正确的类。