осветлить цвет фона при нажатии кнопки для привязки с конвертером
Я хочу осветлить фон кнопки при нажатии. Итак, я сделал следующее:
...
...
Конвертер:
class ColorLightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Color color = (Color)value;
System.Drawing.Color lightColor = ControlPaint.Light(System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B));
return Color.FromArgb(lightColor.A, lightColor.R, lightColor.G, lightColor.B);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Но конвертер неТ звонил, когда я нажимал кнопку. Я думаю, что с переплетом что-то не так, но я могуне вижу ошибки ...
Вы можете мне помочь?
Может я'Я совершенно не прав. Что я в основном хочу сделать: при нажатии кнопки выберите текущий цвет фона и осветлите его. Не больше...
Обновление 1:Я попробовал следующее:
Немного изменил привязку:
Изменен конвертер (теперь он возвращает SolidColorBrush):
class ColorLightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Color color = (Color)value;
System.Drawing.Color lightColor = ControlPaint.Light(System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B));
return new SolidColorBrush(Color.FromArgb(lightColor.A, lightColor.R, lightColor.G, lightColor.B));
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Теперь вызывается конвертер, но он вызывается снова и снова, поэтому через несколько секунд выдается исключение stackoverflow. Откуда этот неопределенный цикл? Я'я действительно немного запутался в данный момент ...