Jamie888 Ответов: 2

Изменение цвета фона выбранного элемента listview


Привет, я хочу изменить выбранный элемент listview, но я столкнулся с некоторой проблемой. Цвет выбранной строки не изменится. Ниже приведены мои коды,

private void onImportanceClick(object sender, RoutedEventArgs e) {

            string date = label5.Content.ToString();

            DateTime dateNow = DateTime.Now;

            DateTime dateOld = Convert.ToDateTime(date);

            TimeSpan diff = dateNow - dateOld;

            double newDiff = diff.TotalDays;

            int dayDiff = Convert.ToInt32(newDiff);

 

            foreach(ListViewItem li in ScheduleListView.Items)

            {

                if (dayDiff > 10)

                {

                    li.Background = Brushes.Green;

                }

                else if (dayDiff < 10 && newDiff > 3)

                {

                    li.Background = Brushes.Yellow;

                }

                else if (dayDiff < 3)

                {
                  li.Background = Brushes.Red;

                }

                else { }
            }

}

Jain Nishant

Эй... с помощью Jquery или Javascript... вы можете сделать это очень легко... так что дайте мне знать, если вам нужна помощь для того же самого, и покажите мне свой код aspx...

2 Ответов

Рейтинг:
1

sameer549

Посетите эти ссылки, надеюсь, это будет полезно
http://stackoverflow.com/questions/91747/background-color-of-a-listbox-item-winforms[^]
http://stackoverflow.com/questions/15431097/listbox-wpf-item-background-color[^]

С уважением
Самир


Рейтинг:
1

Member 4106533

Попробовать это:

private void FormPatient_Load(object sender, EventArgs e)
{
	lv.OwnerDraw = true;
}

private void lv_DrawItem(object sender, DrawListViewItemEventArgs e)
{
	if (e.Item.Selected)
	{
		lvix.BackColor = Color.Maroon;
		lvix.ForeColor = Color.White;
	}
	else
	{
		lvix.BackColor = Color.White;
		lvix.ForeColor = Color.Black;
	}

	e.DrawBackground();
	e.DrawText();
}