我有一个ListView的DataContext被设置为我的ViewModel。 ListView.ItemsSource被设置为ViewModel的Collection属性。在这个ViewModel上有一个名为MyIndex的属性。 MyIndex的值在执行我的项目期间发生变化。如何从XAML的ListView.ItemTemplate中引用ListView DataContext?
我需要一种从ListView的ItemTemplate中访问XAML'MyIndex'的方法,以便我可以根据MyIndex的值更改每个ListViewItem的方面。
我无法使用TemplatedParent,然后将ListViewItem的.Parent属性作为.Parent作为.Parent不是ListView。
下面是一些伪XAML来更好地说明我的意思。
<ListView ItemsSource="ItemsCollection">
<ListView.ItemTemplate>
<ItemContainerTemplate>
<Grid Background="{Binding <some xaml to reference MyIndex Property of ListView.DataContext to use in Converter>}">
</Grid>
</ItemContainerTemplate>
</ListView.ItemTemplate>
</ListView>
我不跟WPF经历,所以我希望这是有道理的。
非常感谢您的任何帮助。
为什么'MyIndex'不是数据项类的属性? – Clemens
@Clemens,MyIndex表示我想要更改其背景的特定ListViewItem的索引。因此,由于MyIndex更改相应的ListViewItem的背景并且之前的ListViewItem返回到其旧背景。我认为XAML会这样做,但不是。相反,它会更改所有ListViewItems。 – Cleve