【问题标题】:Rectangle animation矩形动画
【发布时间】:2012-04-03 03:53:35
【问题描述】:

我正在尝试使用 DataTrigger 在 Y 访问上转换一个矩形。 它工作得很好,除了我希望矩形从其当前转换状态移动而不是从初始状态重新开始。 我想要一个全 XAML 解决方案。 我尝试设置 Completed 属性,但 WPF 不允许这样做。 提前致谢。

<DataTrigger Binding="{Binding CurrentFloor}" Value="5">
    <DataTrigger.EnterActions>
        <BeginStoryboard Name="sb5">
            <Storyboard>
                <DoubleAnimation 
                    To="5" 
                    Storyboard.TargetProperty="RenderTransform.Y"
                    Duration="0:0:2"
                />
            </Storyboard>
        </BeginStoryboard>
    </DataTrigger.EnterActions>
    <DataTrigger.ExitActions>
        <RemoveStoryboard BeginStoryboardName="sb5" />
    </DataTrigger.ExitActions>
</DataTrigger>
<DataTrigger Binding="{Binding CurrentFloor}" Value="4">
    <DataTrigger.EnterActions>
        <BeginStoryboard Name="sb4">
            <Storyboard>
                <DoubleAnimation 
                    To="75" 
                    Storyboard.TargetProperty="RenderTransform.Y"
                    Duration="0:0:2" />
            </Storyboard>
        </BeginStoryboard>
    </DataTrigger.EnterActions>
    <DataTrigger.ExitActions>
        <RemoveStoryboard BeginStoryboardName="sb4" />
    </DataTrigger.ExitActions>
</DataTrigger>

【问题讨论】:

  • 只需为情节提要添加 From 属性
  • 我不知道 From 属性值。无论当前的转换位置是什么。
  • 如果画布中有矩形,则可以将画布顶部或左侧属性绑定到 From 属性。
  • 对 wpf 非常陌生。我会看看画布,看看我能不能解决这个问题。似乎它已经以这种方式绑定到我的 DockPanel 了。
  • 使用 StopStoryboard,而不是 RemoveStoryboard。

标签: wpf xaml animation triggers storyboard


【解决方案1】:

使用&lt;DoubleAnimation By="5" .../&gt; 而不是&lt;DoubleAnimation To="5" .../&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 2016-09-29
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多