2010-10-01 14 views
5

का उपयोग कर रहा एक ListBox जो सिल्वरलाइट 3.0 में एकाधिक SelectionMode में ग्रिड आइटम से बना है है में एक से अधिक चयनित आइटम के सूचकांक रही।एक लिस्टबॉक्स सिल्वरलाइट

जब मैं का उपयोग ListBox.SelectedIndex यह केवल पहला आइटम जो चयन किया जाता है देता है।

मैं ऐसे चयनित आइटम के सभी देखते हैं कि यह इस तरह के रूप चयनित आइटम अनुक्रमित 'के सभी वापसी होगी सक्षम होने के लिए चाहते हैं; 2, 5, और 7, आदि

किसी भी मदद की?

चीयर्स,

टर्टल पावर।

+0

आप इस बात की जांच की थी चयनित इंडेक्स/चयनित इंडेक्सलिस्ट या इसी तरह की एक संपत्ति है? –

+0

सिल्वरलाइट में लिस्टबॉक्स में चयनित इंडेक्स नहीं हैं, लेकिन वैसे भी धन्यवाद। – turtlepower

उत्तर

8

आप इस तरह SelectedItems के माध्यम से पुनरावृत्ति और Items संपत्ति में वस्तुओं खोजने, द्वारा चयनित अनुक्रमणिका पा सकते हैं:

List<int> selectedItemIndexes = new List<int>(); 
foreach (object o in listBox.SelectedItems) 
    selectedItemIndexes.Add(listBox.Items.IndexOf(o)); 

या यदि आप LINQ पसंद करते हैं:

List<int> selectedItemIndexes = (from object o in listBox.SelectedItems select listBox.Items.IndexOf(o)).ToList(); 
+1

धन्यवाद योगेश, यह लगभग काम कर रहा है। अजीब मैं अपने लिस्टबॉक्स में केवल 5 आइटम नहीं हैं और जब मैं उन सब को लौट रहा 7 आइटम जो चला जाता है "0, 1, 2, 3, 4, 0, 0, 0" मिलता है। अंत में अतिरिक्त तीन 0 क्यों? चयनित वस्तुओं में – turtlepower

+0

5 आइटम? क्या आप "कोड लौटने" के लिए उपयोग कर रहे कोड को पोस्ट कर सकते हैं? – Yogesh

+0

सूची चयनित ItemIndexes = नई सूची (); foreach (वस्तु myListBox.SelectedItems में ओ) { selectedItemIndexes.Add (myListBox.Items.IndexOf (ओ)); } हां, 5 आइटम और मैं केवल 5 आइटम का चयन करता हूं। अजीब। – turtlepower

संबंधित मुद्दे