"Spring" wpf-слайдер - PullRequest
       5

"Spring" wpf-слайдер

1 голос
/ 14 сентября 2011

как я могу сделать в Wpf 4 - "Spring" - управление ползунком? Большой палец всегда возвращается к заданному значению 0, после освобождения большого пальца он прыгает как «весна» в начало. ура Diu

1 Ответ

0 голосов
/ 15 сентября 2011

Вы можете использовать триггеры, чтобы сделать это в 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, вам может оказаться проще использовать code-для достижения полностью функциональной реализации «упругого» слайдера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...