1

我有以下列表框:

<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>

而且我的应用程序有白色背景,所以我想将列表项前景设置为黑色。但是当我选择一个项目时,它的前景不会改变,因为它会改变默认前景。

如何将列表项前景更改为黑色,但所选前景仍然不同?

4

1 回答 1

1

您只需在 ListBox 项的样式模板级别更改 Selected VisualState 中的 Foreground。作为参考,您可以查看列表框样式和模板的 msdn 文档。Expression Blend 让它变得非常轻松。只需右键单击您的项目并选择“编辑其他模板”并选择项目模板。然后从 States 选项卡中,选择 Selected State 并更改前景色。或者您可以直接在模板代码中执行此操作。希望这可以帮助。

于 2013-01-09T20:34:54.970 回答