template item c# xaml listview uwp windows-10

c# - item - uwp datatemplate



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

En realidad, una mejor manera de descubrir las propiedades de estilo es usar Blend.

Primero, abre tu página en Blend. Luego haga clic derecho en su ListView y vaya

Editar plantillas adicionales> Editar contenedor de elementos generados (ItemContainerStyle)> Editar una copia .

Dale un nombre y pulsa OK .

Ahora, ha generado el estilo integrado completo para sus ListViewItem s y aquí es donde puede encontrar toda la información sobre su apariencia, animaciones y otros comportamientos visuales.

Deberías mirar este fragmento de código.

<ListViewItemPresenter CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" ContentMargin="{TemplateBinding Padding}" CheckMode="Inline" ContentTransitions="{TemplateBinding ContentTransitions}" CheckBoxBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}" DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}" DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}" DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}" FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}" FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" PointerOverForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}" PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}" PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}" ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}" SelectedPressedBackground="{ThemeResource SystemControlHighlightListAccentHighBrush}" SelectionCheckMarkVisualEnabled="True" SelectedForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}" SelectedPointerOverBackground="{ThemeResource SystemControlHighlightListAccentMediumBrush}" SelectedBackground="{ThemeResource SystemControlHighlightListAccentLowBrush}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />

Vea la línea SelectedBackground="{ThemeResource SystemControlHighlightListAccentLowBrush}" ? Ahí es donde puedes aplicar tu propio color. Tenga en cuenta que debe ser de tipo Brush lugar de Color .

Estoy trabajando en una aplicación de Windows 10 usando C # y XAML. Tengo un ListView y quiero cambiar el color de resaltado predeterminado de un elemento seleccionado. Estaba viendo muchos ejemplos de código (como this ) pero todos están diseñados para WP8 o Win8, estaba intentando implementarlos pero no funcionan para mí

En general, tengo problemas para modificar los temas predeterminados de los controles porque no encuentro documentación útil. Sería genial si alguien me puede ayudar con el color de resaltado y también me recomiende una buena documentación.


Esto se puede lograr en XAML anulando el recurso.

<ListView ...> <ListView.Resources> <SolidColorBrush x:Key="ListViewItemBackgroundSelected" Color="#FF0000" /> <SolidColorBrush x:Key="ListViewItemBackgroundSelectedPointerOver" Color="#FF0000" /> </ListView.Resources> </ListView>


Para extender en la respuesta de bastecklein. Desea utilizar la aplicación en lugar de la aplicación para que este método funcione en un proyecto UWP. Puede usar este código en su App.xaml.cs mientras carga su marco inicial, o simplemente puede configurar el color del recurso en el código detrás de la página que desea afectar.

App.Current.Resources["SystemControlHighlightListAccentLowBrush"] = new SolidColorBrush(Colors.Red); App.Current.Resources["SystemControlHighlightListAccentMediumBrush"] = new SolidColorBrush(Colors.Red);


Si no desea utilizar XAML, aquí hay una manera aún más fácil (en mi opinión) de cambiar esta configuración, utilizando c #:

Application.Current.Resources["SystemControlHighlightListAccentLowBrush"] = new SolidColorBrush(Colors.Red); Application.Current.Resources["SystemControlHighlightListAccentMediumBrush"] = new SolidColorBrush(Colors.Red);

De esta manera usted realmente puede personalizar sus artículos lógicamente.