让我先说一下,我不确定这是否可行。我有两个类似的复杂对象集合,我用它们作为两个不同Items控件的源数据。好吧,让我们将第一个集合称为old
数据,然后让第二个集合调用new
数据。
就像我上面说过的那样,我有两个项目控件 - 一个绑定到old
,另一个绑定到new
。好吧,在new
项控件的项模板中,我希望能够绑定到old
数据,但是我需要能够使用索引,因为属性是项目列表。也许代码片段有助于解释我之后的内容:
<ItemsControl.ItemTemplate>
<DataTemplate>
<Textblock Text="{Binding Path=OldSourceData.MyList[0]}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
但是,我需要将0
替换为当前项目的替换索引。我使用它来获取正确的索引{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource TemplatedParent}}
如何用交替索引替换0
?
修改
我试图弄清楚如何做这样的事情:<Textblock Text="{Binding Path=OldSourceData.MyList[{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource TemplatedParent}}]}"/>
显然,这种语法不起作用,但是有可能以某种方式完成吗?