Я извиняюсь за всех, кто пытался мне помочь, но я не мог ответить, потому что я не предоставил важный элемент: класс CatSorter. Вот где изменения должны были быть сделаны. Вот это до модификации:
public class CatSorter : Comparer<Achat>
{
public override int Compare(Achat x, Achat y)
{
int result = x.CatArt.CompareTo(y.CatArt);
if (result != 0)
{
return result;
}
else
{
result = x.CatOrder.CompareTo(y.CatOrder);
if (result != 0)
{
return result;
}
else
{
return x.NomArt.CompareTo(y.NomArt);
}
}
}
}
И после модификации:
public class CatSorter : Comparer<Achat>
{
public override int Compare(Achat x, Achat y)
{
int result = x.CatOrder.CompareTo(y.CatOrder);
if (result != 0)
{
return result;
}
else
{
result = x.CatArt.CompareTo(y.CatArt);
if (result != 0)
{
return result;
}
else
{
return x.NomArt.CompareTo(y.NomArt);
}
}
}
}
И в методе, который читает и группирует Listview, необходимо сгруппировать список по имени статья (CatArt), а не по рейтинговому номеру (CatOrder). Вот строка для исправления:
_groupingCollection.ArrangeItems(new CatSorter(), (x => x.CatArt));
Эти изменения делаются, программа группирует статьи по категориям, категории классифицируются в соответствии с порядком, выбранным пользователем, и, самое главное, это имя категории, которая появляется в качестве заголовка группы, а не номер рейтинга. Надеюсь, мой ответ достаточно ясен.
Похоже на проблему специфичности CSS . Попробуйте изменить свой набор правил .selectedItem
на:
.dynamicList li.selectedItem {
background-color: #0000ff;
}
Краткий ответ: ваш стиль .selectedItem не применяется, поскольку предыдущий стиль более специфичен и поэтому имеет более высокий приоритет. Вот достойное краткое изложение :
Теперь давайте составим общий список внутренних приоритетов для CSS (3 имеет самый высокий приоритет):
element .class #id
Это порядок приоритетов по умолчанию. В дополнение к этому, также будет учитываться специфичность, f.ex ul li будет переопределять li. W3C составил приличную таблицу для расчета внутреннего веса:
LI {...} /* a=0 b=0 c=1 -> specificity = 1 */ UL LI {...} /* a=0 b=0 c=2 -> specificity = 2 */ UL OL LI {...} /* a=0 b=0 c=3 -> specificity = 3 */ LI.red {...} /* a=0 b=1 c=1 -> specificity = 11 */ UL OL LI.red {...} /* a=0 b=1 c=3 -> specificity = 13 */ #list {...} /* a=1 b=0 c=0 -> specificity = 100 */
А вот спецификация W3C .
Измените правило selectedItem
на:
.dynamicList li.selectedItem
{
background-color: #0000ff;
}