C# WPF/Items控制如何使用AlternationIndex绑定到另一个集合的索引

C# WPF/Items控制如何使用AlternationIndex绑定到另一个集合的索引,c#,wpf,data-binding,itemscontrol,C#,Wpf,Data Binding,Itemscontrol,让我先说一句,我不确定这是否可能。我有两个相似的复杂对象集合,我将它们用作两个不同项控件的源数据。好的,让我们把第一个集合称为旧的数据,把第二个集合称为新的数据 就像我上面所说的,我有两个控件项——一个绑定到旧的,另一个绑定到新的。在newitems控件的项模板中,我希望能够绑定到old数据,但是我需要能够使用索引,因为属性是项列表。也许代码片段有助于解释我的目的: <ItemsControl.ItemTemplate> <DataTemplate>

让我先说一句,我不确定这是否可能。我有两个相似的复杂对象集合,我将它们用作两个不同项控件的源数据。好的,让我们把第一个集合称为
旧的
数据,把第二个集合称为
新的
数据

就像我上面所说的,我有两个控件项——一个绑定到
旧的
,另一个绑定到
新的
。在
new
items控件的项模板中,我希望能够绑定到
old
数据,但是我需要能够使用索引,因为属性是项列表。也许代码片段有助于解释我的目的:

<ItemsControl.ItemTemplate>
     <DataTemplate>
          <Textblock Text="{Binding Path=OldSourceData.MyList[0]}"/>
     </DataTemplate>
</ItemsControl.ItemTemplate>

但是,我需要用当前项的替换索引替换
0
。我使用它来获得正确的索引
{Binding Path=(ItemsControl.alternationadex),RelativeSource={RelativeSource TemplatedParent}

如何用替换索引替换
0

编辑
我正在试图弄清楚如何做这样的事情:
显然,这种语法不起作用,但是有可能以某种方式实现吗?

duplicate@EugeneGorbovoy它不是一个重复。我可以使用上面的代码获取替代索引,但是当从
OldSourceData
访问项目时,是否可以将该代码放在方括号
[0]
中?不可能放在里面,但您可以使用转换器来做这件事,就像在提供的链接中一样。如果你想把它放进去,你需要创建你自己的MarkupExtension