从滑动条中获取值一次
pick up value from slide bar once
我想在鼠标移动完成时从滑动条中获取值,并且不想多次更改标签内容,我的代码:
private void SecondsSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
this.SecondsLabel.Content = (int)this.SecondsSlider.Value;
}
怎么做?
您必须使用 DragCompleted
事件 (https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.thumb.dragcompleted%28v=vs.110%29.aspx)。
在用户释放 MouseButton 后触发。
private void SecondsSlider_DragCompleted(object sender, RoutedEventArgs e)
{
this.SecondsLabel.Content = (int)this.SecondsSlider.Value;
}
在XAML中的用法:
<Slider Thumb.DragCompleted="SecondsSlider_DragCompleted" />
据我了解,您只想从滑块获取一次值。
您可以使用一个静态布尔值,一旦达到顶峰就不会再次创建,如下所示:
private void SecondsSlider_ValueChanged(对象发送者,RoutedPropertyChangedEventArgs e)
{
静态布尔 isPicked=false;
如果(!被选中){
this.SecondsLabel.Content = (int)this.SecondsSlider.Value;
被选中=真;
}
}
这样你只会得到一次值,然后把bool isPicked的tp改成true,一旦改成true你就不会再选择slider的值了。
希望能解决您的问题。
P.S:抱歉,如果我的回答格式不正确,原因是我现在正在使用 phone。
我想在鼠标移动完成时从滑动条中获取值,并且不想多次更改标签内容,我的代码:
private void SecondsSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
this.SecondsLabel.Content = (int)this.SecondsSlider.Value;
}
怎么做?
您必须使用 DragCompleted
事件 (https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.thumb.dragcompleted%28v=vs.110%29.aspx)。
在用户释放 MouseButton 后触发。
private void SecondsSlider_DragCompleted(object sender, RoutedEventArgs e)
{
this.SecondsLabel.Content = (int)this.SecondsSlider.Value;
}
在XAML中的用法:
<Slider Thumb.DragCompleted="SecondsSlider_DragCompleted" />
据我了解,您只想从滑块获取一次值。 您可以使用一个静态布尔值,一旦达到顶峰就不会再次创建,如下所示:
private void SecondsSlider_ValueChanged(对象发送者,RoutedPropertyChangedEventArgs e) { 静态布尔 isPicked=false; 如果(!被选中){ this.SecondsLabel.Content = (int)this.SecondsSlider.Value; 被选中=真; } }
这样你只会得到一次值,然后把bool isPicked的tp改成true,一旦改成true你就不会再选择slider的值了。 希望能解决您的问题。
P.S:抱歉,如果我的回答格式不正确,原因是我现在正在使用 phone。