【问题标题】:Pulsing speed of a progress bar in XAMLXAML 中进度条的脉冲速度
【发布时间】:2014-06-06 22:02:40
【问题描述】:

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

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

【问题讨论】:

  • 也许使用动画可以帮助您达到同样的效果。你能分享一些代码如何加快进度条吗?
  • @bdimag 好吧,不幸的是,除了隐藏它之外,该链接没有告诉我如何编辑脉冲动画。但它确实让我确切地知道我应该搞砸的部分。谢谢。

标签: wpf xaml


【解决方案1】:

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

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

    <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>

您可以将其设置为看起来自然的条形,甚至是您喜欢的样式。

【讨论】:

  • 谢谢你,这对我很有帮助——不过我最终还是做了一些关键的调整。我使用网格而不是画布,并将触发器放在矩形上,目标是 TranslateTransform X on Loaded。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多