在xaml中更改listviewitem的前景色

时间:2014-08-20 03:54:31

标签: c# wpf xaml windows-phone-8.1

我正在使用C#/ XAML开发Windows Phone 8.1应用程序。

我有一个列表视图,其背景设置为白色。因此,您无法看到列表视图项,因为它们的前景也是白色的。我想将其改为另一种颜色。但是,当选择项目时,我想将前景色更改回白色,因为当项目被选中时,该项目的背景会改变颜色(黄色),允许用户看到白色

我已将代码上传到PasteBin:

MainPage.xaml(实际页面):http://pastebin.com/R9DG9D2J

App.xaml:http://pastebin.com/21qQxHge

在App.xaml中,我已经覆盖了ListViewItemSelectedBackgroundThemeBrush画笔,因此当一个项目被选中时,它有一个黄色背景而不是默认的蓝色背景。但是,我无法更改项目的前景色。我不想在ListViewItem的DataTemplate中的文本块中硬编码前景色,就好像我这样做,然后当选择项时,颜色不会变回白色。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试使用Style触发器设置ListViewItem的前景色,检查IsSelected条件是否为true,然后将Foreground属性更改为选择项目时所需的任何颜色,方法是仅选择所选的ListView项目&#39 ; s前景会改变

<Style TargetType="{x:Type ListViewItem}">
    <Style.Triggers>
        <Trigger Property="ListViewItem.IsSelected" Value="True">
            <Setter Property="Foreground" Value="Red"/>
        </Trigger>
    </Style.Triggers>
</Style>