¿Cómo hacer un color de fondo alterno para las filas ItemsControl?¿Cómo hacer un color de fondo alternativo para las filas ItemsControl (Silverlight)?
8
A
Respuesta
6
Esto no está construido en función de ItemsControl
. lo que puede hacer es extender ItemsControl
para el requisito.
Niza ejemplo se han encontrado vuelos de here
2
Tomé el código de Joe McBride y generalizada que permitirá especificar qué propiedad para establecer (por defecto Background
) y el número de filas de cada color antes de la alternancia (por defecto 1) y no requiere ningún archivo externo.
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Media;
namespace Converters
{
public class AlternatingRowConverter : IValueConverter
{
public Brush NormalBrush { get; set; }
public Brush AlternateBrush { get; set; }
public int AlternateEvery { get; set; }
public string Property { get; set; }
public AlternatingRowConverter()
{
AlternateEvery = 1;
Property = "Background";
}
public object Convert(
object value, Type targetType, object parameter, CultureInfo culture)
{
var element = (FrameworkElement)value;
element.Loaded += Element_Loaded;
return NormalBrush;
}
public object ConvertBack(
object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
private void Element_Loaded(object sender, RoutedEventArgs e)
{
var element = (FrameworkElement)sender;
DependencyObject obj = element;
do
{
obj = VisualTreeHelper.GetParent(obj);
} while (!(obj is ItemsControl) && obj != null);
var parent = (ItemsControl)obj;
if (parent != null)
{
DependencyObject container =
parent.ItemContainerGenerator.ContainerFromItem(
element.DataContext);
if (container != null)
{
int index = parent.ItemContainerGenerator.IndexFromContainer(
container);
if (index % (AlternateEvery * 2) >= AlternateEvery)
element.GetType().GetProperty(Property)
.SetValue(element, AlternateBrush, null);
}
}
}
}
}
Cuestiones relacionadas
- 1. ¿Cómo hacer un fondo para una etiqueta será sin color?
- 2. Actualizando UITableViewCells de color alternativo cuando las filas se reordenan o eliminan
- 3. Cambiar el color de fondo en las filas, pero no en los encabezados de las filas
- 4. Silverlight: Agrupación de datos similar en ItemsControl
- 5. ¿Cómo hacer un fondo usando gradiente CSS con color plano?
- 6. Enlace de color de fila Silverlight DataGrid
- 7. ¿Cómo cambiar el color de fondo de un bloque de texto en Silverlight?
- 8. Hacer ItemsControl childs redimensionables con un divisor
- 9. Cambiar el color de fondo del encabezado Datagrid en Silverlight
- 10. ItemsControl, ItemsPanel y ItemsPresenter (Silverlight, XAML)
- 11. Jquery hover - Cómo hacer animación de color de fondo
- 12. div color de fondo, para cambiar onhover
- 13. ¿Cómo hacer una mesa en Silverlight?
- 14. Use sed para agregar color de fondo a las pestañas?
- 15. ¿Cómo aplicar el color de fondo para las filas en la hoja de Excel utilizando Apache POI?
- 16. C# Silverlight Datagrid - Fila Color Change
- 17. Aplicar un color de fondo a una fila de cuadrícula completa en XAML Silverlight
- 18. alternativo para mysql_num_rows utilizando DOP
- 19. Establecer el color de fondo para JFrame
- 20. navigationbar (color de fondo)
- 21. Color de fondo para Tk en Python
- 22. Color de fondo UIWebView
- 23. NSImageView + Color de fondo
- 24. Establecer un color de fondo plano para un widget QGraphicsView
- 25. posición de fondo para el color de fondo
- 26. ¿Cómo puedo hacer que los controles de Silverlight sean invisibles para las acciones del mouse?
- 27. Color de fondo de UIView
- 28. combinación de imagen y fondo de color sólido para un formulario WPF
- 29. ¿Cómo puedo cambiar el color de una imagen en Silverlight/WP7 (máscara de color)?
- 30. Cómo hacer Un CALayer en el fondo
Compruebe [esta publicación] (http://msdn.microsoft.com/en-us/library/ms750769.aspx) –