Ho una lista con un semplice elenco di elementi. Sulla mia pagina di XAML, ho il seguentesilverlight/windows phone 7 selectedIndex problemi con pulsante all'interno listbox
<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>
Nel mio codebehind, cerco di afferrare il selectedIndex in modo da poter rimuovere l'elemento della collezione che è legato alla mia casella di riepilogo.
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);
}
Tuttavia, non importa su quale riga si fa clic sul pulsante Elimina, selectedIndex è sempre -1
cosa mi manca?
grazie in anticipo!
questa risposta è stata piuttosto utile. Cosa succede se non desidero allegare un intero oggetto al tag? cosa succede se voglio solo allegare un numero..say..ilIndex selezionato? – Dave
Eviterei di usare l'indice (sia perché è più difficile da fare che meno flessibile man mano che il codice cambia). Puoi aggiungere una proprietà ID (qualcosa di unico) al tuo oggetto personalizzato e associare il tag a questo. Quindi è possibile scorrere l'elenco e rimuoverlo in base a questo ID o utilizzare un dizionario con la chiave impostata su tale ID. – theChrisKent