我有以下列表框:
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,10,0,10">
<TextBlock
Foreground="Black"
Text="{Binding name}"/>
<TextBlock
Foreground="Black"
Text=": "
Visibility="{Binding
Path=name,
Converter={StaticResource ServiceOtherConverter}}"/>
<TextBlock
Foreground="Black"
Text="{Binding amount}"
Visibility="{Binding
Path=name,
Converter={StaticResource ServiceOtherConverter}}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的应用程序有白色背景,所以我想将列表项目前景设置为黑色。但是当我选择一个项目时,它的前景不会改变,就像默认前景一样。
如何将前景列表项更改为黑色,但所选前景仍然不同?
答案 0 :(得分:1)
您只需要在ListBox项的样式模板级别更改Selected VisualState中的Foreground。作为参考,您可以查看ListBox Styles and Templates的msdn doc。 Expression Blend使它非常轻松。只需右键单击您的项目,然后选择“编辑其他模板”并选择项目模板。然后从States选项卡中,选择Selected State并更改前景色。或者您可以直接在模板代码中执行此操作。希望这会有所帮助。