1

On button_click I have to mute or unmute the sound. It works fine, but I would like to set slider value after unmuting to the value it was before muting and not to a fixed 0.7.

private void btnMute_Click(object sender, RoutedEventArgs e)
{
    if (slider.Value <= 0.0)
    {
        slider.Value = 0.7;
        btnMute.Content = "Mute";
    }

    if (slider.Value > 0.0)
    {
        slider.Value = 0.0;
        btnMute.Content = " UnMute";
    }
}
pyrocumulus
  • 9,072
  • 2
  • 43
  • 53
Toni0123
  • 107
  • 1
  • 11

1 Answers1

1

Window

  <Grid>
        <Slider HorizontalAlignment="Left"
            Margin="10,10,0,0"
            VerticalAlignment="Top"
            Width="250"
            ValueChanged="Slider_ValueChanged"/>
     </Grid>

Code behind:

  public partial class MainWindow : Window
    {
    private double _lastSliderValue;
    public MainWindow()
    {
        InitializeComponent();
        _lastSliderValue = 0.7;
    }

    private void Slider_ValueChanged(object sender,
        RoutedPropertyChangedEventArgs<double> e)
    {
        // ... Get Slider reference.
        var slider = sender as Slider;
        // ... Get Value.
        if(slider.Value != 0.0)
          _lastSliderValue = slider.Value;
        // ... Set Window Title.
        this.Title = "Value: " + value.ToString("0.0") + "/" + slider.Maximum;
    }

private void btnMute_Click(object sender, RoutedEventArgs e)
{
    if (slider.Value <= 0.0)
    {
        slider.Value = _lastSliderValue;
        btnMute.Content = "Mute";
    }
    else
    {
        slider.Value = 0.0;
        btnMute.Content = " UnMute";
    }
    }
 }
MRebai
  • 5,344
  • 3
  • 33
  • 52