Cambiar el color del texto del elemento seleccionado del cuadro de lista de WPF y el color de resaltado / fondo con C #

Dingdangdowney

Estoy tratando de cambiar el color resaltado (seleccionado) y el color del texto resaltado de un cuadro de lista wpf en tiempo de ejecución. He intentado crear un estilo y aplicarlo de la siguiente manera:

    Style s = new Style(typeof(ListBox));
    s.Resources.Add(SystemColors.HighlightBrushKey, Setting.ListSelectedColor);
    s.Resources.Add(SystemColors.HighlightTextBrushKey, Setting.ListSelectedTextColor);
    lstGames.Style = s;

Pero esto parece no hacer nada. ¿Hay alguna forma de lograrlo?

EDITAR:

Según las sugerencias, intenté usar DynamicResources para lograr esto, pero hasta ahora tampoco ha tenido éxito. Mi código para esto:

RECURSOS DINÁMICOS

<UserControl.Resources>
    <Color x:Key="ListTextSelectedColor"/>
    <Color x:Key="ListSelectedColor"/>
</UserControl.Resources>

CUADRO DE LISTA

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

APLICANDO RECURSOS EN C #

this.Resources["ListSelectedColor"] = SETING.ListSelectedColor.Color;
this.Resources["ListTextSelectedColor"] = SETTING.ListSelectedTextColor.Color;
Vinkal

Solución:

<Window x:Class="ListBoxStyle.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:src="clr-namespace:ListBoxStyle"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style x:Key="_ListBoxItemStyle" TargetType="ListBoxItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBoxItem">
                        <Border Name="_Border"
                                Padding="2"
                                SnapsToDevicePixels="true">
                            <ContentPresenter />
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="true">
                                <Setter TargetName="_Border" Property="Background" Value="Yellow"/>
                                <Setter Property="Foreground" Value="Red"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <ListBox ItemContainerStyle="{DynamicResource _ListBoxItemStyle}"
                 Width="200" Height="250"
                 ScrollViewer.VerticalScrollBarVisibility="Auto"
                 ScrollViewer.HorizontalScrollBarVisibility="Auto">
            <ListBoxItem>Hello</ListBoxItem>
            <ListBoxItem>Hi</ListBoxItem>
        </ListBox>
    </Grid>
</Window>

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo cambiar el color de fondo del elemento seleccionado de la lista?

cómo cambiar el color de fondo del elemento seleccionado en la vista de lista

En Eclipse, ¿cómo cambiar el color del color de resaltado del texto de la consola seleccionado?

¿Cómo configuro el color de fondo del cuadro combinado en el elemento seleccionado?

Cómo cambiar el color de resaltado del elemento ListView seleccionado en UWP (Windows 10)

Cómo cambiar el color de un elemento no seleccionado de un cuadro de lista del código subyacente

Utilidad Material UI styled() - Cómo cambiar recursivamente el color de fondo del texto resaltado

¿Cómo personalizar el UIDatePicker y cambiar el color del texto y el color de fondo?

Cómo cambiar el color de fondo del cuadro de texto interno de DatePicker

ImageMagick: cambia el color de fondo del cuadro delimitador seleccionado

Cómo cambiar el color de fondo del elemento seleccionado en JList dinámicamente

Android Cómo agregar íconos en cada lista v Ver elemento de la lista y cambiar el color del texto, color de fondo

Cambiar el color de fondo del cuadro de texto según el valor del cuadro de texto

RichTextFx cambia el color del texto seleccionado y el fondo del número de línea

RichTextFx cambia el color del texto seleccionado y el fondo del número de línea

Cambiar globalmente el color del texto de UIBarButtonItem cuando está seleccionado o resaltado

Intentando cambiar el color de fondo y el color del texto del enlace actual

¿Cómo cambiar el color del fondo del cuadro de diálogo del tapete angular?

Cómo cambiar el color del elemento de vista de lista seleccionado

Cambiar el color de fondo del elemento seleccionado de Listview de UWP en Xamarin

Cómo cambiar el color de fondo del cuadro en Tkinter con una acción

Cambiar el valor del cuadro de texto de acuerdo con el valor del cuadro combinado seleccionado

Cambiar el color de fondo del elemento con degradado a color de fondo sin degradado

mostrar el contenido del elemento seleccionado del cuadro de lista en el cuadro de texto

¿Cómo cambiar el color de fondo del texto escrito anteriormente del cuadro de entrada en CSS?

¿Cómo cambiar el texto del elemento seleccionado en el cuadro de lista en tiempo de ejecución?

Cómo cambiar el texto y el color del icono del elemento de menú seleccionado en el panel de navegación mediante programación usando Java

Cómo cambiar el texto y el color del icono del elemento de menú seleccionado en el panel de navegación mediante programación usando Java

cambiar el color de fondo del cuadro desplegable

TOP Lista

CalienteEtiquetas

Archivo