Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从滑块中获取值_C#_Windows 8 - Fatal编程技术网

C# 如何从滑块中获取值

C# 如何从滑块中获取值,c#,windows-8,C#,Windows 8,切换开关和滑块有问题 滑块的值用于增加或减少“我的媒体”元素的音量 但是,假设我将滑块的值设置为“50”,并将开关切换到“关闭”媒体元素 当我将开关切换回“开”时,如何从滑块捕获上一个值 目前,当sw_music.IsOn时,我将滑块的值设置为“100” XAML: 在剪切声音之前,应保存滑块的值。并在游戏前恢复 试试这个: private double savedValue = 100; private void sw_music_Toggle(object sender, RoutedEv

切换开关和滑块有问题

滑块的值用于增加或减少“我的媒体”元素的音量

但是,假设我将滑块的值设置为“50”,并将开关切换到“关闭”媒体元素

当我将开关切换回“开”时,如何从滑块捕获上一个值

目前,当sw_music.IsOn时,我将滑块的值设置为“100”

XAML:


在剪切声音之前,应保存
滑块的值。并在游戏前恢复

试试这个:

private double savedValue = 100;

private void sw_music_Toggle(object sender, RoutedEventArgs e)
{
    if(slider.Value >= 1)
    {
      if (sw_music.IsOn)
      {
        slider.Value = savedValue ;
        Intro_Sound.Play();
      }
      else
      {
        savedValue = slider.Value;
        slider.Value = 0;
        Intro_Sound.Stop();
      }

      if(slider.Value > 1)
      {
        Intro_Sound.Play();
        sw_music.IsOn = true;
      }
   }
}

只是在打开或关闭音乐时不要设置滑块值。嗨@mickro,我试过了。当我再次将开关按钮切换到on时,它不会给出我设置的滑块的上一个值。oups。。。我的错如果你只是复制/粘贴上面的代码,我在
savedValue
saveValue
方面犯了一个错误。现在应该更好了。嗨@mickro,是的,我注意到了拼写错误,但是,当我重新打开切换开关时,它不会返回滑块的上一个值。。
private void sw_music_Toggle(object sender, RoutedEventArgs e)
{
    if(slider.Value >= 1)
    {
        if (sw_music.IsOn)
        {
            slider.Value = 100;
            Intro_Sound.Play();
        }
        else
        {
            slider.Value = 0;
            Intro_Sound.Stop();
        }

        if(slider.Value > 1)
        {
            Intro_Sound.Play();
            sw_music.IsOn = true;
        }
    }
}

private void Slider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
    {
        Intro_Sound.Volume = (slider.Value) / 100;

        if (slider.Value == 0)
        {
            sw_music.IsOn = false;
        }
        else
        {
            sw_music.IsOn = true;
        }
    }
private double savedValue = 100;

private void sw_music_Toggle(object sender, RoutedEventArgs e)
{
    if(slider.Value >= 1)
    {
      if (sw_music.IsOn)
      {
        slider.Value = savedValue ;
        Intro_Sound.Play();
      }
      else
      {
        savedValue = slider.Value;
        slider.Value = 0;
        Intro_Sound.Stop();
      }

      if(slider.Value > 1)
      {
        Intro_Sound.Play();
        sw_music.IsOn = true;
      }
   }
}