我想获取在给定列表框中选择的所有项目的索引,有一个SelectedItems
方法返回一组项目:
listbox.SelectedItems
但是没有SelectedIndices
方法。该集合也不包含每个项目的索引。
如何知道我的列表框中选择了哪个项目?
答案 0 :(得分:1)
如果您将List
或ObservableCollection
个项目绑定到ListBox
使用
var indices = new List<Int32>();
foreach( var item in listbox.SelectedItems ) {
var index = boundList.IndexOf( item as MyDataType );
if( index != -1 ) {
indices.Add( index );
}
}
答案 1 :(得分:1)
您只需使用IndexOf
在项目集合中查找其索引即可。例如,绑定项目集合时:
// create your list of items to display
List<MyObject> items = new List<MyObject>();
// NOTE: populate your list here!
// bind the items
listBox.ItemsSource = items;
您可以按如下方式找到所选索引:
var selectedItem = (MyObject)listBox.SelectedItems[0]
int index = items.IndexOf(selectedItem);