Ошибка в случайном поведении DataGrid при прокрутке в Silverlight 4.0 - PullRequest
0 голосов
/ 01 июня 2011

У меня есть сетка данных, и ее строки окрашены в зависимости от определенных условий. Для моей сетки данных есть вертикальная полоса прокрутки. Если пользователь прокручивает сетку данных, индекс цветных строк r изменяется. строка окрашена, если пользователь прокручивает ее вниз и показывает, что индекс цветной строки испортился ...

вот код ....

 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 Ответ

2 голосов
/ 23 февраля 2012

Лучше поздно, чем никогда. ;-). У меня тоже была похожая проблема .. попробуйте присвоить фону строки значение null при выгрузке события строки.

    private void dg_UnloadingRow(object sender, DataGridRowEventArgs e)
    {
        e.Row.Background = null;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...