Tengo un ListView que contiene algunos ListViewItems. De manera predeterminada, la selección de elementos hace que el fondo se vuelva azul profundo. Me gustaría aplicar un estilo tal que seleccionar un elemento no cambie su aspecto.Cambiar color de selección de WPF ListViewItem
En mi xaml ya lo han conseguido:
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
</Style.Resources>
</Style>
Por desgracia, esto no hace el truco. Simplemente hace que la selección sea blanca en lugar de azul.
¿Alguien tiene una idea?
mejores deseos, cristianos
EDIT: Código muestra:
<Window.Resources>
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}"
Color="Black"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="Transparent"/>
</Style.Resources>
</Style>
</Window.Resources>
<ListView x:Name="lvTestRun" ItemsSource="{Binding Path=TestRunData}" Margin="177,26,8,53.277" SelectionMode="Multiple">
<ListView.View>
<GridView>
<GridViewColumn Header="Status"/>
<GridViewColumn Header="Duration"/>
<GridViewColumn Header="Start Time"/>
<GridViewColumn Header="End Time"/>
</GridView>
</ListView.View>
</ListView>
el fin de reproducir esto, puede que tenga que configurar el color de fondo de una sola ListViewItem a algo como el verde o rojo
Gracias por la respuesta rápida. Probé tu código y me da casi lo que quiero. Sin embargo: antes de hacer clic en los elementos, ya tienen un color de fondo. Algunos de ellos son verdes, algunos son rojos, otros son amarillos y otros son anaranjados. Ahora cuando selecciono un número de ellos, todos se ponen blancos. Blanco debido a la "Transparencia" en su código. Si cambio Transparente a Negro, todos se ponen negros. Lo que me gustaría lograr es que permanezcan del mismo color que antes. ¿Es eso posible? ¿Como para decirle al recurso de estilo que al seleccionarlo NO debería cambiar el "HighlightBurshKey"? – Christian