Для того, что вы пытаетесь сделать, я бы порекомендовал использовать IValueConverter
Однако вам необходимо убедиться, что свойство, отражающее числовое значение, также является Наблюдаемым.(т.е. вам нужно вызвать OnPropertyChanged
из его установщика).
Но преобразователь значений, подобный этому, должен выполнить свою задачу:
public class IntToColorValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is int)
{
int number = (int)value;
if (number < 9)
return Colors.Green;
else if (number > 9)
return Colors.Red;
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}