【问题标题】:How to animate a ProgressBar Value Property using Storyboard DoubleAnimation in Windows 8.1如何在 Windows 8.1 中使用 Storyboard DoubleAnimation 为 ProgressBar 值属性设置动画
【发布时间】:2014-11-10 22:03:19
【问题描述】:

我有一个 Windows 8.1 应用程序,其进度定义如下

<ProgressBar x:Name="myProgressBar" Opacity="1" Minimum="0" Maximum="100" Value="0"/>

我有以下 StoryBoard 动画定义如下。

<Storyboard x:Name="myStoryBoard">
    <DoubleAnimation Storyboard.TargetName="myProgressBar"
                     Storyboard.TargetProperty="Value"
                     From="0"
                     To="100"
                     Duration="00:00:04" />
</Storyboard>

这段 C# 代码调用 Storyboard 的 begin 函数。

myStoryBoard.Begin();

但我没有看到 ProgressBar 的 Value 属性有任何变化。

但是,如果我为同一 ProgressBar 的 Opacity 属性应用类似的 StoryBoard 动画,它可以无缝运行,我可以看到 ProgressBar 按预期逐渐消失。

<Storyboard x:Name="myOpacityStoryBoard">
        <DoubleAnimation Storyboard.TargetName="myProgressBar"
                         Storyboard.TargetProperty="Opacity"
                         From="1"
                         To="0"
                         Duration="0:0:4">
</Storyboard>

我不确定发生了什么。我检查了 Value 属性是否像 Opacity 一样是双精度的。我做错了吗?

如果有人能指引我正确的方向,我会很高兴。

【问题讨论】:

    标签: c# winrt-xaml windows-8.1 win-universal-app


    【解决方案1】:

    您只需将EnableDependentAnimation="True" 添加到您的动画中。

    <Storyboard x:Name="myStoryBoard">
        <DoubleAnimation Storyboard.TargetName="myProgressBar"
                 Storyboard.TargetProperty="Value"
                 EnableDependentAnimation="True"
                 From="0"
                 To="100"
                 Duration="00:00:04" />
    </Storyboard>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多