我如何在Wpf 4中制作 - “Spring”-slider控件? 拇指总是回到设定点0, 释放拇指后,它会像“弹簧”一样跳到开头。 干杯 丢
答案 0 :(得分: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中完全完成,但您可能会发现使用代码隐藏更容易实现“弹性”滑块的全功能实现。