itemscontrol中的可变背景颜色

时间:2015-10-26 01:34:49

标签: c# wpf

我想创建一个项目控件,根据项目所属组的交替索引替换项目的背景颜色。在参考下面列出的类时,我希望它能够将前三个RandomHouse书籍的背景设置为黑色,然后当遇到下一个Publisher时,背景会变回白色,依此类推对于尽可能多的独特出版商而言如此。发布者的数量和名称是不确定的,仅在运行时进行评估。我已尽力使用xaml尽我所能,但似乎无论出于何种原因,无法为GroupItem访问alternationindex。任何帮助将不胜感激。

objArray

1 个答案:

答案 0 :(得分:0)

你非常接近。您只需要在每个触发器中指定ItemsControl.AlternationIndex作为属性名称,而不仅仅是AlternationIndex

那就是说,坦率地说,我有第二个想法甚至提出这个作为答案,除了我实际上不能让它工作。也就是说,虽然我可以在调试器中看到它根据需要正确设置GroupItem.Background属性值,但我看不到屏幕上的可见效果。就好像该组的items-presenter忽略了GroupItem的背景属性。

我正在进行并将其作为答案发布的原因即使它没有完全解决问题,也是GroupItem.Background属性值被{{1}中的实际演示者所尊重}是一个完全不同的问题,而不是正确使用GroupItem值。因此,虽然您可以使用此答案来正确绑定AlternationIndex值,但您需要做更多工作和/或发布另一个问题以深入了解为什么正确设置AlternationIndex属性值,这实际上并没有改变屏幕上显示的背景。


我希望我也可以解释如何在Background中获取背景属性以影响屏幕上的显示。我希望如果你弄明白,你至少会在这里跟进评论,解释答案。 :)(或者,如果您发布问题并且其他人解释了该问题,请参考该答案进行评论)。