осветлить цвет фона при нажатии кнопки для привязки с конвертером

Я хочу осветлить фон кнопки при нажатии. Итак, я сделал следующее:


...

            
        
            
                
                                                
                        
                            
                                
                                    
                                
                            
                        
                    
                    
                        ...                            
                    
                
            
        
    

Конвертер:

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. Откуда этот неопределенный цикл? Я'я действительно немного запутался в данный момент ...

Ответы на вопрос(3)

Ваш ответ на вопрос