XAML中进度条的脉冲速度

时间:2014-06-06 22:02:40

标签: wpf xaml

目标是切换进度条的流程并加快速度。通过将FlowDirection更改为RightToLeft,我可以轻松更改流量(在条形内移动的脉冲高光,而不是实际的%值)。然而,我不知道如何提高这个亮点的速度。我找到了各种样式/模板,可以让我改变颜色,大小,形状等等,但与实际行进速度无关。

有人可以指出方向或给我一个我可以看的地方的例子吗?

1 个答案:

答案 0 :(得分:2)

由于您在滚动条上预期的行为通常不可能,所以我尝试使用canvas来模仿预期的行为

我添加了移动并加快进度条的动画

    <Border BorderBrush="Gray" BorderThickness=".5" Height="13" CornerRadius="2" Margin="2">
        <Canvas Height="10" x:Name="canvas" Margin="1" ClipToBounds="True">
            <Rectangle Width="10" Fill="Green" Height="10" x:Name="rect"/>
            <Canvas.Triggers>
                <EventTrigger RoutedEvent="SizeChanged">
                    <BeginStoryboard>
                        <Storyboard >
                            <DoubleAnimation Storyboard.TargetName="rect" 
                                         RepeatBehavior="Forever" 
                                         Storyboard.TargetProperty="(Canvas.Left)" 
                                         To="{Binding ActualWidth, ElementName=canvas}"
                                         From="0"
                                         Duration="0:0:2">
                                <DoubleAnimation.EasingFunction>
                                    <CubicEase EasingMode="EaseIn"/>
                                </DoubleAnimation.EasingFunction>
                            </DoubleAnimation>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Canvas.Triggers>
        </Canvas>
    </Border>

你可以把它设计成一个看起来很自然的酒吧,甚至是你喜欢的方式。