回答
有几种方法可以做到这一点,包括some workarounds using the AlternationIndex。
但是,因为我已经用于其他目的的AlternationIndex我希望得到的元素索引的绑定有以下:
<MultiBinding Converter="{StaticResource indexOfConverter}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}" />
<Binding Path="."/>
</MultiBinding>
当转换器被定义为:
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();
}
}
'ItemsControl.Items.IndexOf(values [1])''? –
我相信'Items'集合包含UIElements而不是绑定的实际项目。 – Reddog
不,它不会,如果是这样的话,ItemContainerGenerator上的那些方法将是多余的。 –
- 1. 是否有可能从刚刚从列表中删除的项目中获取选择列表的名称
- 2. indexeddb - 是否有可能从索引获得位置i的项目
- 3. 从包含列表可能重复获取特定项目的索引
- 4. 获取Redis列表项目索引
- 5. 按索引获取列表项目
- 6. LINQ - 从特定索引开始从列表中获取项目
- 7. 从绑定列表中获取已删除项目的索引
- 8. 从ExpandableListView中获取项目的索引
- 9. 从按钮中获取列表框项目索引单击
- 10. 如何从列表框中获取项目索引
- 11. 从列表列表中获取索引
- 12. 从索引中获取项目Laravel 5
- 13. 是否有可能从整个Spotify库中获取曲目列表?
- 14. 从列表中获取索引元素是否线程安全?
- 15. 是否有可能从数组中的一组项目中获取rangeOfString?
- 16. 是否有可能从不同的目录中获取模板?
- 17. 从post-> ID获取条款列表,是否有可能?
- 18. php - 从foreach获取项目的索引?
- 19. 如何获取C#中列表中新增项目的索引?
- 20. 是否有可能使用jQuery获取HTML元素数组项的索引?
- 21. 是否可以从Windows搜索项目获取Outlook MailItem EntryIDUrl
- 22. 是否有可能从给定特定行的全文索引中获取相关单词列表?
- 23. 是否有可能从IOS项目中的cpp文件获取文件路径
- 24. 只有当字符串项目索引==列表项目索引
- 25. 获取数组列表中项目的索引;
- 26. 获取列表视图中点击项目的索引
- 27. 通过列表和数组中的索引获取struct项目
- 28. 如何获取列表框中某个项目的索引
- 29. 如何获取列表框中所选项目的索引?
- 30. 试图获取列表中某个项目的索引
几乎任何事情都可能在WPF中 - 使用正确的XAML /代码隐藏组合 –