【发布时间】:2011-09-18 18:40:17
【问题描述】:
如何在 Wpf 4 -“Spring”-滑块控件中进行控制? Thumb 总是回到设定点 0, 松开拇指后,它像“春天”一样跳到开头。 干杯 丢
【问题讨论】:
如何在 Wpf 4 -“Spring”-滑块控件中进行控制? Thumb 总是回到设定点 0, 松开拇指后,它像“春天”一样跳到开头。 干杯 丢
【问题讨论】:
您可以在 XAML 中使用触发器来执行此操作(它只是在拇指释放时弹回一秒钟)
<Slider x:Name="slider">
<Slider.Triggers>
<EventTrigger SourceName="slider" RoutedEvent="Thumb.DragCompleted">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="slider" Storyboard.TargetProperty="Value" From="{Binding Value, ElementName=slider}" To="0" Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Slider.Triggers>
</Slider>
但是,这不会捕获滑块上的点击以执行步骤或直接设置 Value 属性。要完全捕捉到这一点,您需要监听所有三个事件(Thumb.DragCompleted、Thumb.DragStarted 和 Slider.ValueChanged),并确保在拖动拇指时不应用任何动画。您还需要自定义动画的持续时间,因为目前它具有恒定的时间,而不是恒定的速度。
虽然可以完全在 XAML 中完成,但您可能会发现使用代码隐藏更容易实现“弹性”滑块的全功能实现。
【讨论】: