【发布时间】: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