这是我的XAML到目前为止。更改选定列表框项目的背景颜色
<ScrollViewer Grid.Column="1" Grid.RowSpan="2">
<ListBox Background="Black" ItemsSource="{Binding Path=ActiveLog}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="Black">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Foreground="White">
<TextBlock >Date:</TextBlock>
<TextBlock Text="{Binding Path=LogDate}"/>
</TextBlock>
<TextBlock Grid.Column="1" Grid.Row="0" Foreground="White">
<TextBlock >Severity:</TextBlock>
<TextBlock Text="{Binding Path=Severity}"/>
</TextBlock>
<TextBlock Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Foreground="LightGray" Text="{Binding Path=Message}"></TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Template>
<ControlTemplate>
<StackPanel Background="Black" IsItemsHost="True" >
</StackPanel>
</ControlTemplate>
</ListBox.Template>
</ListBox>
</ScrollViewer>
唯一的问题是所选项目右边有一个蓝色框。我认为有一种方法可以改变选择颜色,但我找不到它。
好吧,现在它变得更有意义。谢谢。 – 2010-01-26 08:56:38
如果您在ItemContainerStyle中为'IsSelected'中的'Background'属性使用'Setter'属性为true,那么它不起作用。它仍然使用系统高亮颜色。 :( – user1108069 2015-11-26 08:14:57
要更改选定的ListBoxItem的背景颜色,您需要重新模板ListBoxItem。ref:在[这里]接受的答案中的评论(http://stackoverflow.com/questions/7059526/set-background-color- VS 2012,.Net Framework 4.5。 – user1108069 2015-11-26 09:05:09