¿Cómo cambio programáticamente el color de fila de la cuadrícula de datos en WPF?
Me preguntaba si esto es posible. Tengo esta cuadrícula de datos contiene 3 columnas y 2 filas. Lo que quiero es cambiar el fondo de la columna URL en mi cuadrícula de datos de acuerdo con los datos que ingrese.
Aquí hay una muestra de mi código xaml:
<DataGrid
x:Name="mylistview"
BorderBrush="#FF373737"
Background="Black"
VerticalGridLinesBrush="#FF232323"
HorizontalGridLinesBrush="#FF212121">
<DataGrid.Columns>
<DataGridTextColumn Header="URL" Foreground="{Binding rowColor}" Binding="{Binding url}"/>
<DataGridTextColumn Header="Version" Foreground="White" Binding="{Binding version}"/>
<DataGridTextColumn Header="Valid" Foreground="White" Binding="{Binding valid}"/>
</DataGrid.Columns>
</DataGrid>
Mi clase utilizada para llenar la cuadrícula de datos con filas:
public class myData
{
public string url {get; set;}
public string version{get; set;}
public string valid{get; set;}
//this should be the value that changes the bg color
public string rowColor{ get; set; }
}
Y esta es mi forma de agregar filas al control:
myData data1 = new myData();
data1.url = "http://google.com";
data1.valid = "yes";
data1.version = "1";
data1.rowColor = "#FF000000";
this.mylistview.Items.Add(data1);
data1.url = "http://yahoo.com";
data1.valid = "no";
data1.version = "1";
data1.rowColor = "#000000FF";
this.mylistview.Items.Add(data1);
Tengo dos elementos. Cada fila debe tener su propio color. El primero debe ser rojo y el segundo debe ser azul. Realmente no sé cómo hacer que el control use el valor rowColor.
¿Qué necesito hacer para que esto funcione?