Bevor Sie diese Frage als Duplikat markieren oder schlagen Items.IndexOf verwenden, gehen Sie bitte wie folgt vor:Wie erhalten Sie Indizes ausgewählter Elemente in der WPF-Listbox?
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());
}
Dann doppelklicken viertes Element (Sie werden 0 erhalten statt 3).
Wie bekomme ich eine Liste ausgewählter Item-Indizes?
Nach reiflicher Verwirrung, (die ich sicher teile). Ich denke, was passiert, ist es, den ersten Index des Objekts "A" zu erhalten, der 0 ist. Sie könnten eine Schleife erstellen, um alle Indizes von "A" zu erhalten – Sayse
@Sayse: Sie sind richtig - die 'ListBox' wird den ersten Index aufnehmen (Wenn Sie auf das vierte Element klicken, werden häufig sowohl das erste als auch das vierte Element hervorgehoben). Ich habe eine Lösung dafür auf [diese Frage] (http://stackoverflow.com/questions/5469700/listview-selecting-single-item-wpf/5470094#5470094) gepostet. –
@DanPuzey - Ihre Lösung wäre wahrscheinlich auch die Antwort auf diese Frage. – Sayse