【发布时间】:2013-05-17 08:14:16
【问题描述】:
在将此问题标记为重复问题或建议使用 Items.IndexOf 之前,请执行以下操作:
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:你是对的——
ListBox会选择第一个索引(另外,如果你点击第四个元素,第一个和第四个元素通常都会被突出显示)。我在this question 上发布了一个解决方案。 -
@DanPuzey - 您的解决方案也可能是这个问题的答案。
标签: c# wpf listbox indexing selection