是否可以从列表中的项目获取索引?

我的意思是,我有一个listBox,我将itemsSource属性放在列表中。 而且我想在它的绑定中显示索引。

我不知道WPF中是否可行。 谢谢。

有几种方法可以做到这一点,包括使用AlternationIndex的一些解决方法 。

但是,由于我已将AlternationIndex用于其他目的,我喜欢使用以下内容获取元素索引的绑定:

    

转换器定义为:

 public class IndexOfConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (Designer.IsInDesignMode) return false; var itemsControl = values[0] as ItemsControl; var item = values[1]; var itemContainer = itemsControl.ItemContainerGenerator.ContainerFromItem(item); // It may not yet be in the collection... if (itemContainer == null) { return Binding.DoNothing; } var itemIndex = itemsControl.ItemContainerGenerator.IndexFromContainer(itemContainer); return itemIndex; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) { return targetTypes.Select(t => Binding.DoNothing).ToArray(); } }