2016-09-27 272 views
0

我试图在用户完成拖动拇指或单击以移至特定点后获取WPF滑块值。拖动后获取WPF滑块值

我想通过监听某种事件来将新值保存在数据库中。我怎样才能做到这一点?

我想关于这个问题的解决方案,但我最终什么也没有 - WPF: Slider with an event that triggers after a user drags

每次进入事件很多次

由于时间

XAML:

<Slider Value="{Binding VoipVolume}" MouseLeftButtonUp="slider_MouseLeftButtonUp"/> 

代码隐藏:

public double VoipVolume 
    { 
     get { return (double)GetValue(VoipVolumeProperty); } 
     set 
     { 
      SetValue(VoipVolumeProperty, value); 
      VolumeChanged(value); 
     } 
    } 

private void VolumeChanged(object value) 
    { 
     StationViewModel viewModel = this.DataContext as StationViewModel; 

     if (viewModel != null) 
     { 
      if (end) 
      { 
       viewModel.OnVolumeChange((float)VoipVolume); 
       end = false; 
      } 
     } 
    } 
    bool end = false; 


    private void slider_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) 
    { 
     end = true; 
    } 
+1

你能告诉我们你的代码吗? – FCin

+0

可能重复。希望这可以帮助你: http://stackoverflow.com/a/723547/1611490 –

+0

代码添加。 Ishan Pandya我写道,我尝试了这种灵魂。 – StackOverflowUser

回答

0

我们没有选择,我们到底用TickFrequency,因为我们需要保存在滑块改变分贝,我们不希望它发生的每0.001 ..

无论如何要感谢..

-1

可能复制。希望这可以帮助你:stackoverflow.com/a/723547/1611490

<Slider Thumb.DragCompleted="MySlider_DragCompleted" /> 

下MySlider_DragCompleted事件,更新您的虚拟机的性能或获得的价值。

+0

“Code added。Ishan Pandya我写道,我试过这种说法。” 他甚至在评论中说,他尝试了这种解决方案。 – Dominik

+0

@Dominik: - 我迟到了,把它当作回答哥哥。 –