अंदर बटन के साथ समस्याओं मैं मदों की एक सरल सूची के साथ एक लिस्टबॉक्स मिल गया है। मेरी XAML पृष्ठ पर, मैं निम्नलिखित हैSilverlight/विंडोज फोन 7 SelectedIndex लिस्टबॉक्स
<ListBox Name="listBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding firstName}"/>
<TextBlock Text="{Binding lastName}"/>
<Button BorderThickness="0" Click="buttonPerson_Click">
<Image Source="delete-icon.png"/>
</Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
मेरी codebehind में, मैं SelectedIndex हड़पने के लिए तो मैं संग्रह है कि मेरे लिस्टबॉक्स के लिए बाध्य है से आइटम निकाल सकते हैं की कोशिश करो।
private void buttonPerson_Click(object sender, RoutedEventArgs e)
{
// If selected index is -1 (no selection) do nothing
if (listBox1.SelectedIndex == -1)
return;
myPersonList.removeAt(listBox1.SelectedIndex);
}
हालांकि, कोई फर्क नहीं पड़ता जो पंक्ति पर मैं हटाएँ बटन पर क्लिक, SelectedIndex हमेशा होता है -1
मैं क्या याद आ रही है?
अग्रिम धन्यवाद!
यह उत्तर बहुत उपयोगी रहा है। क्या होगा यदि मैं टैग पर एक संपूर्ण ऑब्जेक्ट संलग्न नहीं करना चाहता हूं? क्या होगा यदि मैं सिर्फ एक नंबर संलग्न करना चाहता हूं .. चयनित इंडेक्स? – Dave
मैं इंडेक्स का उपयोग करने से बचूंगा (दोनों क्योंकि यह करना कठिन है और आपके कोड में बदलाव के रूप में कम लचीला है)। आप अपनी कस्टम ऑब्जेक्ट में एक आईडी प्रॉपर्टी (कुछ अद्वितीय) जोड़ सकते हैं और टैग को बाध्य कर सकते हैं। फिर आप या तो सूची के माध्यम से लूप कर सकते हैं और इस आईडी के आधार पर हटा सकते हैं, या उस आईडी के कुंजी सेट के साथ एक शब्दकोश का उपयोग कर सकते हैं। – theChrisKent