更改列表视图中的选择突出显示颜色

时间:2013-06-05 20:24:42

标签: c# wpf listview mvvm

我该怎么做?我发现的一切都说这应该有效,但它不适合我。我做错了什么?

<ListView ItemsSource="{Binding ListViewItems}" >
    <ListView.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Style.Resources>
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Green"/>
            </Style.Resources>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

2 个答案:

答案 0 :(得分:0)

尝试直接在<ListView.Resources><SolidColorBrush x:Key=...></ListView.Resources>

中进行设置

尝试使用键SolidColorBrush定义"{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"

<强>更新 只是尝试在win7上运行以下xaml并定位.net 4.5:

    <ListView ItemsSource="{Binding DummyItems}">
        <ListView.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Green"/>
            <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="LightGreen"/>
        </ListView.Resources>
    </ListView>

像魅力一样! 尽管如此,似乎这对win8无效。 因此,可能无法绕过定义自己的模板。请参阅this page

答案 1 :(得分:0)

您上面显示的代码对我有用。但是,这会在ListBox处于焦点时设置颜色。要在焦点不对焦时设置颜色,请尝试...

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Green" />

Check this示例在Win 8上实现它。