【发布时间】:2009-12-09 16:40:59
【问题描述】:
alt text http://akashkava.com/blog/wp-content/uploads/2009/12/ListBoxItem-Selection-Problem.png
以下代码,行为有点奇怪。
<ListBox SelectionMode="Multiple">
<StackPanel>
<TextBlock>Selection is Black</TextBlock>
</StackPanel>
<ListBoxItem>
<StackPanel>
<TextBlock>Selection is White</TextBlock>
</StackPanel>
</ListBoxItem>
</ListBox>
请注意,第一个选择保持黑色,这是因为 Item 不是它自己的 ItemContainer,但是在第二种情况下,Item 是它自己的 ItemContainer,因此样式可以正常工作。大多数时候我们通过模板填充数据,并且每次我们的 Item 不是它自己的 ItemContainer 时,这就是 TextBlock 在前景色方面表现得很奇怪的原因。
重要提示:我正在寻找“为什么会发生这种情况”的答案,而不是如何解决它,我知道解决方法 TextElement.Foreground="{TemplateBinding Foreground}",但我想知道为什么会发生这种情况。
【问题讨论】:
标签: wpf xaml .net-3.5 listboxitem