texto subrayado sombreado resaltado quitar puedo pegas parrafo internet gris fondo cómo cuando copias copiado como color c# wpf listbox

c# - subrayado - ¿Cómo deshabilitar el resaltado en el cuadro de lista pero mantener la selección?



no puedo quitar el resaltado en word (6)

Tengo problemas para encontrar la forma de no permitir que mi cuadro de lista resalte el elemento seleccionado. Sé que no agregué un activador para resaltar el elemento. Todavía soy bastante nuevo en WPF =)

¡Gracias!

<ListBox Name="CartItems" ItemsSource="{Binding}" ItemTemplate="{StaticResource TicketTemplate}" Grid.Row="3" Grid.ColumnSpan="9" Background="Transparent" BorderBrush="Transparent"> </ListBox>


En la pestaña Propiedades, hay un campo habilitado con 2 opciones, verdadero y falso. Al convertir esto en falso, el cuadro de lista permanece en blanco y la selección no está disponible. ¡Acabo de resolver esto!


Estoy hablando de un truco que hice en mi aplicación WP8.

Agregué una imagen de marco transparente arriba (se vio el borde de la imagen, piense en ello como un marco de imagen). El desplazamiento era funcional, cualquier evento de manipulación se activaba simplemente porque los elementos del Cuadro de lista no se habían seleccionado más.

<Grid Grid.Row="0" Margin="10,15" Background="#FF008F88"> <ListBox x:Name="listBox_content" Margin="20,15" VirtualizingStackPanel.VirtualizationMode="Recycling"> </ListBox> <!-- TV image, middle is transparent so the ListBox can be seen --> <Image x:Name="image_tv" Source="/Assets/Images/tvFrame.png" Stretch="Fill"/> <!----> </Grid>

Supongo que esto también podría funcionar con un conjunto de imágenes transparentes completo para rellenar.


Respuesta tardía, pero hay una solución mucho mejor y más simple:

<ListBox> <ListBox.Resources> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" /> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" /> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" /> </ListBox.Resources> </ListBox>

Esto le permite tener un LisBox que se parece a un control de elementos, pero tiene soporte para la selección.

Edición: Cómo funciona
Esto altera los "colores del sistema", en otras palabras, su tema de Windows, solo para este ListBox y sus hijos (realmente queremos apuntar al ListboxItem ).

Por ejemplo, al ListboxItem un ListboxItem normalmente se le da un fondo azul profundo, pero aquí lo configuramos como transparente (HighlightBrushKey).

Edición (30 de junio de 2016):
Parece que para la última versión de Windows esto ya no es suficiente, también debe redefinir InactiveSelectionHighlightBrushKey

<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Transparent" />

Gracias a @packoman en los comentarios.


Tendrá que volver a la plantilla ListBoxItem . En la plantilla predeterminada, tiene un desencadenante que se resalta cuando la propiedad IsSelected es true . Solo tienes que crear una plantilla que no tenga ese disparador.


eliminar el resaltado por completo se siente muy extraño, ya que no sabe si ha seleccionado algo, pero aquí hay una versión de la plantilla de control que usa WhiteSmoke (que es muy sutil) en lugar de Blue

<Window.Resources> <Style x:Key="ListBoxItemStyle1" TargetType="{x:Type ListBoxItem}"> <Setter Property="Background" Value="Transparent"/> <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> <Setter Property="Padding" Value="2,0,0,0"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="true"> <Setter Property="Background" TargetName="Bd" Value="WhiteSmoke"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid x:Name="LayoutRoot"> <ListBox HorizontalAlignment="Left" VerticalAlignment="Top" ItemContainerStyle="{DynamicResource ListBoxItemStyle1}"> <ListBoxItem Content="Item1"/> <ListBoxItem Content="Item2"/> <ListBoxItem Content="Item3"/> <ListBoxItem Content="Item4"/> <ListBoxItem Content="Item5"/> <ListBoxItem Content="Item6"/> </ListBox> </Grid>


<ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="IsSelected" Value="{Binding Content.IsSelected, Mode=TwoWay, RelativeSource={RelativeSource Self}}"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <ContentPresenter/> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle>