У меня есть объект Student, который имеет:Как изменить цвет ListBoxItem на основе условия
private string name;
private double feesOwed;
У меня также есть ListBox, который будет иметь ItemSource установить на объект List заселенного с несколькими студентами. Я хотел бы, чтобы ListBox отображал это имя как текст и имел цвет фона, основанный на feeOwed. Что-то вроде
if(feesOwed>20)
{
if(feesOwed>100)
{
item.Background = "Red";
return;
}
item.Background = "Yellow";
return;
}
Все примеры, которые я нашел об этом, в основном говорят только о том, как получить чередующиеся цвета строк. Я знаю, что для этого потребуется привязка данных, но тема для меня довольно новая, и я не могу заставить ее работать динамически.
Я думаю, что правильный способ сделать это - реализовать IValueConverter, но это также немного сложно.
Благодаря
У меня нет времени, чтобы решить пример. Что вам нужно, это «ItemTemplate» для списка. Там вы привязываете цвет фона элемента к элементу его 'feeOwed' с помощью конвертера, см.' IValueConverter'. Преобразователь возвращает цвет, основанный на значении 'feeOwed'. См. Это, например: http://blogs.msdn.com/b/bencon/archive/2006/05/10/594886.aspx –