1

我该怎么做呢?我发现的所有内容都表明这应该有效,但对我来说不起作用。我究竟做错了什么?

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

2 回答 2

0

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

也尝试SolidColorBrush用 Key定义一个"{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。所以可能没有办法到处定义自己的模板。请参阅此页面

于 2013-06-05T20:45:17.807 回答
0

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

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

检查此示例以在 Win 8 上实现它。

于 2013-06-05T20:45:51.353 回答