Prima di contrassegnare questa domanda come un duplicato o suggerire utilizzando Items.IndexOf, si prega di effettuare le seguenti operazioni:Come ottenere indici di articoli selezionati nella casella di riepilogo di WPF?
public MainWindow()
{
InitializeComponent();
var A = new object();
var B = new object();
var C = new object();
lbItems.Items.Add(A);
lbItems.Items.Add(B);
lbItems.Items.Add(C);
lbItems.Items.Add(A);
lbItems.Items.Add(B);
lbItems.Items.Add(C);
}
private void lbItems_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
MessageBox.Show(lbItems.Items.IndexOf(lbItems.SelectedItems[0]).ToString());
}
quindi doppio quarto elemento (si otterrà 0 invece di 3).
Come ottenere un elenco di indici di articoli selezionati?
Dopo tanto confusione, (che sono sicuro che la tua condivisione). Penso che stia succedendo sta ottenendo il primo indice dell'oggetto 'A' che è 0. Potresti creare un ciclo per ottenere tutti gli indici di' A' – Sayse
@Sayse: sei corretto - il 'ListBox' prenderà il primo indice (Inoltre, se clicchi sul quarto elemento, saranno spesso evidenziati sia il primo che il quarto elemento). Ho pubblicato una soluzione per questo su [questa domanda] (http://stackoverflow.com/questions/5469700/listview-selecting-single-item-wpf/5470094#5470094). –
@DanPuzey - La tua soluzione sarebbe probabilmente anche la risposta a questa domanda. – Sayse