Перед тем, как отметить этот вопрос как дубликат или предлагают использовать Items.IndexOf, пожалуйста, сделайте следующее:Как получить индексы выбранных элементов в списке 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());
}
Затем дважды щелкните четвертый элемент (вы получите 0 вместо 3).
Как получить список выбранных элементов?
После долгих путаница (я уверен, что ваш обмен). Я думаю, что происходит то, что он получает первый индекс объекта 'A', который равен 0. Вы можете создать цикл, чтобы получить все индексы' A' – Sayse
@Sayse: вы правы - 'ListBox' подберет первый индекс (также, если вы нажмете на четвертый элемент, часто будут выделены как первый, так и четвертый элементы). Я разместил решение для этого на [этот вопрос] (http://stackoverflow.com/questions/5469700/listview-selecting-single-item-wpf/5470094#5470094). –
@DanPuzey - Ваше решение, вероятно, также будет ответом на этот вопрос. – Sayse