#silverlight-4.0 #datagrid
#silverlight-4.0 #сетка данных
Вопрос:
У меня есть сетка данных, и ее строки окрашены в зависимости от определенных условий..Для моей сетки данных есть вертикальная полоса прокрутки.. Если пользователь прокручивает сетку данных, индекс цветных строк r изменяется.. Например: если 2 строки окрашены, то при прокрутке пользователем вниз и переходе вверх индекс цветной строки искажается…
вот код….
dggeneralconfiguration.LoadingRow = new EventHandler<DataGridRowEventArgs>(grid1_LoadingRow);
dggeneralconfiguration.UnloadingRow = new EventHandler<DataGridRowEventArgs>(grid1_UnloadingRow);
void grid1_LoadingRow(object sender, DataGridRowEventArgs e)
{
ShowGeneralGrid c = e.Row.DataContext as ShowGeneralGrid;
if (c.Status == false)
{
if (e.Row != null)
{
e.Row.Background = new SolidColorBrush(Colors.Red);
//e.Row.Background = new SolidColorBrush(Colors.Transparent);
}
}
}
void grid1_UnloadingRow(object sender, DataGridRowEventArgs e)
{
ShowGeneralGrid c = e.Row.DataContext as ShowGeneralGrid;
if (c.Status == false)
{
if (e.Row != null)
{
e.Row.Background = new SolidColorBrush(Colors.Red);
//e.Row.Background = new SolidColorBrush(Colors.Transparent);
}
}
}
Ответ №1:
Лучше поздно, чем никогда. 😉 . У меня тоже была похожая проблема .. попробуйте присвоить row background значение null при выгрузке события row.
private void dg_UnloadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Background = null;
}