2015-04-21 68 views
0
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沒有處理。無效的轉換異常存在的

請建議我哪裏出了錯

+0

以及異常告訴你已經有什麼不對。你的清單包含「CheckListItems」 –

回答

0

試試這個

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

我在我的檢查列表框中有4個項目,需要循環但項目,如果檢查值應連接。通過使用foreach這不是我supposwe – vjy

+0

列表 checkedItems =新列表 (); 的foreach(在ChkList.Items列表項liCheckedItems) { checkedItems.add(liCheckedItems.Value) } 字符串結果; result = string.Join(「〜」,checkedItems.ToArray()); ---------------------- 如果選中的項目val是狗,貓,鼠標 輸出看起來像「狗〜貓〜鼠標」 – TwelveOclock

+0

這就是爲什麼我們需要在這裏利用string.join和ToArray函數將列表轉換爲數組,然後將它們連接在一起創建concatinated字符串 – TwelveOclock

0

由於錯誤說,這是一個類型轉換錯誤,你ChkList包含CheckListItem類的項目,你想將它們轉換成ListBoxItem因此係統正在生成System.InvalidCastException(Invalid Cast Exception)

請確保您填寫的列表中正確的類的對象,同時檢索ng來自同一個列表類型的對象將列表中的對象轉換爲正確的類。