Изменение ForeColor текстового блока в Silverlight4 в соответствии со значением - PullRequest
2 голосов
/ 13 февраля 2011

Я пытаюсь сделать что-то, что должно быть легко, и, к сожалению, я не могу понять, как: я хочу, чтобы TextBlock отображал положительные числа белым и отрицательный числа красным (довольно оригинально, эм). Мне бы хотелосьэтот материал должен быть реализован только со стороны вида.Я вижу VisualStateManager, но, видимо, мне нужно вставить его в код, чтобы вручную изменить состояние.Должно быть что-то более простое: в WPF я бы использовал триггер с ValueConverter, есть ли что-то похожее в Silverlight?

1 Ответ

1 голос
/ 13 февраля 2011

То же самое в Silverlight. Создайте класс, который реализует IValueConverter, добавьте его в качестве ресурса в свой элемент управления. Привязать кисть к интересующему вас свойству, а затем установить свойство Конвертер выражений Binding для вашего ресурса. Готово.

    public class BrushColorConverter : IValueConverter
  {

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return ((int)value >= 0) ? new SolidColorBrush(Colors.White) : new SolidColorBrush(Colors.Red);
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...