user3656168
user3656168

Reputation: 41

EventSetter for Slider Control WPF

Tried to write an EventSetter for 4 slide controls but it doesn't work. Keeps giving me error i.e. 'FourthProject.MainWindow' does not contain a definition for 'slider_ValueChanged' and no extension method 'slider_ValueChanged' accepting a first argument of type 'FourthProject.MainWindow' could be found (are you missing a using directive or an assembly reference?)

This is what I tried:

<EventSetter Event="Slider.ValueChanged"
Handler="slider_ValueChanged" />

Here is the code behind

private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { SolidColorBrush backgroundColor = new SolidColorBrush(); backgroundColor.Color = Color.FromArgb((byte)alphaSlider.Value (byte)redSlider.Value, (byte)greenSlider.Value, (byte)blueSlider.Value);

        // set colorLabel's background to new color
        colorLabel.Background = backgroundColor;
    }

Please help I am new to WPF and its quite confusing. Thanks

Upvotes: 0

Views: 401

Answers (1)

Jay
Jay

Reputation: 841

XAML is just fine:

<EventSetter Event="Slider.ValueChanged" Handler="Slider_ValueChanged"/>

You just need to properly define your handler (code behind):

public void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    MessageBox.Show("Value Changed: " + e.NewValue.ToString());
}

Maybe you have a DataContext set on your root element or your event handler isn't public.

Upvotes: 1

Related Questions