Destaque do WPF ListBox no Windows 10
Sou relativamente novo no WPF, mas experiente em .NET (Winforms). Estou tentando manipular o estilo de destaque de uma caixa de listagem para controlar a cor focada e sem foco do item selecionado. Cada tutorial sobre esse assunto que eu encontrei usa um estilo personalizado para atribuir um novo valor ao SystemColors.HighlightBrushKey e SystemColors.ControlBrushKey. Mas não está funcionando. Depois de inúmeras horas tentando fazer com que isso funcionasse, ocorreu-me que talvez estivesse relacionado ao sistema operacional. Eu estava tentando em um sistema Windows 10. Corri exatamente o mesmo código em uma instalação do Windows 7 e eis que funcionou!
Então, aparentemente, o método antigo não funciona no Windows 10 (pelo menos é o que parece para mim). Alguém encontrou uma alternativa? No final do dia, eu só quero que a caixa de listagem mantenha o destaque brilhante, mesmo quando não tiver foco. O destaque cinza padrão é difícil de ver e não parece apropriado em alguns usos. Eu tenho um cenário do mundo real, onde parece muito natural que o destaque desapareça basicamente quando o foco se afasta do ListBox.
Abaixo está o código XAML que usei que funcionava no Windows 7, mas não no Windows 10. (A propósito, eu também tentei substituir SystemColors.ControlBrushKey por SystemColors.InactiveSelectionHighlightBrushKey - os resultados foram os mesmos).
<Window x:Class="TestApp.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TestApp"
mc:Ignorable="d"
Title="TestWindow" Height="300" Width="300" Loaded="Window_Loaded">
<Window.Resources>
<Style x:Key="myListboxStyle">
<Style.Resources>
<!-- Background of selected item when focused -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red" />
<!-- Background of selected item when not focused -->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Green" />
</Style.Resources>
</Style>
</Window.Resources>
<Grid>
<ListBox x:Name="listBox" Style="{StaticResource myListboxStyle}" HorizontalAlignment="Left" Height="100" Margin="22,18,0,0" VerticalAlignment="Top" Width="237">
<ListBoxItem>Test 1</ListBoxItem>
<ListBoxItem>Test 2</ListBoxItem>
<ListBoxItem>Test 3</ListBoxItem>
</ListBox>
<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="50,165,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
</Grid>
</Window>