Sto provando a cambiare il colore evidenziato (selezionato) e il colore del testo evidenziato di una casella di riepilogo wpf in fase di esecuzione. Ho provato a creare uno stile e applicarlo come segue:Cambiare la casella di riepilogo WPF Selezionate il colore del testo e l'evidenziazione/sfondo Colore usando C#
Style s = new Style(typeof(ListBox));
s.Resources.Add(SystemColors.HighlightBrushKey, Setting.ListSelectedColor);
s.Resources.Add(SystemColors.HighlightTextBrushKey, Setting.ListSelectedTextColor);
lstGames.Style = s;
Ma questo sembra non fare nulla. C'è un modo per raggiungere questo obiettivo?
EDIT:
Per suggerimenti, ho provato con DynamicResources per raggiungere questo obiettivo, ma finora questo non ha avuto successo neanche. Il mio codice per questo:
DYNAMICRESOURCES
<UserControl.Resources>
<Color x:Key="ListTextSelectedColor"/>
<Color x:Key="ListSelectedColor"/>
</UserControl.Resources>
LISTBOX
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
Name="lstGames" Margin="20" Grid.Row="2" Grid.Column="2"
SelectionChanged="lstGames_SelectionChanged" Grid.RowSpan="2" Grid.ColumnSpan="2"
Background="{x:Null}" BorderBrush="{x:Null}" SelectionMode="Single"
FontSize="18" FontFamily="OCR A Extended">
<Style TargetType="ListBox">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{DynamicResource ListSelectedColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{DynamicResource ListSelectedColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="{DynamicResource ListTextSelectedColor}"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="{DynamicResource ListTextSelectedColor}"/>
</Style.Resources>
</Style>
</ListBox>
l'applicazione di risorse in C#
this.Resources["ListSelectedColor"] = SETING.ListSelectedColor.Color;
this.Resources["ListTextSelectedColor"] = SETTING.ListSelectedTextColor.Color;
Penso che si stia cercando il collegamento xaml a DynamicResource. Fare riferimento a questa domanda SO per un esempio. http://stackoverflow.com/q/17502467/1862333 – failedprogramming
@failedprogramming Ho provato a utilizzare DynamicResources per raggiungere questo obiettivo, ma non ho avuto alcun successo. Ho aggiornato il mio post originale con il mio tentativo. – downeysyndrome
@failedprogramming La tua risposta combinata con mi ha creato e funzionante splendidamente. Aggiungerò una risposta con la mia risoluzione finale per gli altri. – downeysyndrome