我有一个Windows 8.1应用程序。
我的CollectionViewSource是项目列表,按项目创建日期分组。现在我已将此CollectionViewSource绑定到ListView,以便显示每个组的组头,然后显示相应的值。
我们说我有3组如下
September 1
Item-1
Item-2
Item-3
September 2
Item-4
Item-5
September 3
Item 6
现在我想在每个组中显示具有替代背景的备用项目。 如果Item-1为黑色,则Item-2为白色,Item-3为黑色。由于Item-4在组2中,它再次变为黑色,依此类推。如果我得到每个组中每个元素的索引,我可以使用转换器执行此备用背景。我如何获得索引?
这是我的ListViewItemTemplate的xaml
<DataTemplate x:Key="MyListViewItemTemplate">
<Grid Background="{Binding Converter={StaticResource alternateListItemBackgroundConverter}}">
</Grid>
</DataTemplate>
我应该在上面的xaml中绑定什么来获取我可以在我的转换器中使用的索引,如下所示。这是转换器的转换功能
public object Convert(object value, Type targetType, object parameter, string language)
{
int index = value as int;
if (value == null || !int.TryParse(value.ToString(), out index))
{
throw new ArgumentException("The value passed to this converter must be an integer value", "value");
}
return index % 2 == 0 ? Colors.Black : Colors.White;
}
如果有人能指出我正确的方向,我会很高兴。 在此先感谢。
答案 0 :(得分:0)
典型的解决方案可能是在分组函数中设置索引属性值,或者用于对项目进行分组或生成集合视图的任何内容。