Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo recorre WPF DataGrid todas sus celdas y cambia el color de fondo si contiene una palabra?

¿Cómo recorre WPF DataGrid todas sus celdas y cambia el color de fondo si contiene una palabra?

No se recomienda la operación transversal para atravesar las celdas de la cuadrícula de datos, sino para atravesar su fuente de datos.

Si desea procesar el valor de la celda, se recomienda utilizar IConverter.

Por ejemplo:

Código de interfaz de usuario:

ltDataGrid Name = " DG " autogenerar columnas = " False " RowHeaderWidth = " 0 " unidad de selección = " Celda " gt;

lt cuadrícula de datos. Recursos gt

ltlocal:color convert x:Key = "color convert"/ gt;

lt/DataGrid. Recursos gt

lt data grid. Columna gt

ltDataGridTextColumn Binding = " { Binding Path = age } "/ gt;

ltDataGridTemplateColumn gt

ltDataGridTemplateColumn. CellTemplate gt

ltData Templategt

ltText block Texto = " { Binding Path = nombre } " Primer plano = " Negro " Fondo = " { Binding Converter = { conversión de color de recurso estático } } " / gt;

lt/plantilla de datos gt;

lt/DataGridTemplateColumn. CellTemplate gt

lt/datagrid plantilla columna gt;

lt/DataGrid. Columna gt

lt/DataGrid gt;

Código de fondo:

Clase parcial pública BaiduKnows: Ventana

{

Public BaiduKnows()

{

inicializar componente();

Lista ltPeople gtpeoplelist = nueva lista ltPeople gt();

Lista de personajes. Add(new person(){ edad = 10, nombre = "Linda" });

Lista de personajes. Agregar(nueva persona(){ edad = 11, nombre = " Tom " });

Lista de personajes. Add(nueva persona(){ edad = 12, nombre = " Peter " });

Lista de personajes. Add(nueva persona(){ edad = 13, nombre = "Mary" });

dg.

ItemsSource = lista de personas

}

}

Personas de clase

{

public int age { get settings; }

Nombre de cadena pública { get settings }

}

Código del convertidor: colorConvert.cs

Espacio de nombres XXX

{

//Definir conversor de valores

[ValueConversion(typeof(string), typeof(string))]

Clase pública ColorConvert: IValueConverter

{

Conversión de objeto público (valor de objeto, tipo targetType, parámetro de objeto, cultura CultureInfo)

{

Personas strValue = valor como una persona;

if (strValue!= null amp ampstrValue.name == "peter ")

{

Devuelve "rojo";

}

Devuelve "blanco";

}

Objeto público ConvertBack(valor del objeto, tipo targetType, parámetros del objeto, cultura CultureInfo)

{

Devolver "";

}

}

}