如何停止情节提要但在 UWP 代码隐藏中保留当前值?
How to stop storyboard but keep current values in UWP code-behind?
我的实际问题是什么?
我想停止情节提要动画但保留动画属性的当前值并解冻这些属性。
我尝试了什么?
我试过 storyboard.Pause()
但这会使动画属性保持冻结状态。 (更改值无效)我希望能够从情节提要中释放所有属性。
storyboard.Stop()
不起作用,因为它根据 FillBehavior
将动画属性的值设置为结束或开始动画。虽然它会解冻属性。
我尝试清除 storyboard.Childern
但它抛出异常,除非故事板完全停止。
我尝试用相同的动画制作持续时间为 0 的新情节提要,这将停止以前的动画并且情节提要它自己会立即完成,但这里有问题
我应该知道在上一个故事板中添加了哪些动画(我已经通过在列表中存储具有 属性 路径的依赖对象来解决这个问题)
我必须从 属性 路径中检索动画属性的当前值。
我卡在最后一个因为this does not exist in UWP
string propertyPath = "(UIElement.Projection).(PlaneProjection.RotationY)";
// all animated properties are double
double value = (double)dependencyObject.GetValue(???);
GetValue
需要 DependencyProperty
但我有一个字符串。
注意:我只是想要解决我实际问题的方法(最重要的是 post)。
我能够使用以下时间表解决这个问题
new DoubleAnimation { By = 0, Duration = TimeSpan.Zero }
有了这个时间表,我不必知道属性的价值。具有相同元素和相同 属性 路径且持续时间为 0 的新情节提要与此时间线将停止以前的情节提要并保留其值。新故事板也将立即停止并解冻动画属性。
我的实际问题是什么?
我想停止情节提要动画但保留动画属性的当前值并解冻这些属性。
我尝试了什么?
我试过 storyboard.Pause()
但这会使动画属性保持冻结状态。 (更改值无效)我希望能够从情节提要中释放所有属性。
storyboard.Stop()
不起作用,因为它根据 FillBehavior
将动画属性的值设置为结束或开始动画。虽然它会解冻属性。
我尝试清除 storyboard.Childern
但它抛出异常,除非故事板完全停止。
我尝试用相同的动画制作持续时间为 0 的新情节提要,这将停止以前的动画并且情节提要它自己会立即完成,但这里有问题
我应该知道在上一个故事板中添加了哪些动画(我已经通过在列表中存储具有 属性 路径的依赖对象来解决这个问题)
我必须从 属性 路径中检索动画属性的当前值。
我卡在最后一个因为this does not exist in UWP
string propertyPath = "(UIElement.Projection).(PlaneProjection.RotationY)";
// all animated properties are double
double value = (double)dependencyObject.GetValue(???);
GetValue
需要 DependencyProperty
但我有一个字符串。
注意:我只是想要解决我实际问题的方法(最重要的是 post)。
我能够使用以下时间表解决这个问题
new DoubleAnimation { By = 0, Duration = TimeSpan.Zero }
有了这个时间表,我不必知道属性的价值。具有相同元素和相同 属性 路径且持续时间为 0 的新情节提要与此时间线将停止以前的情节提要并保留其值。新故事板也将立即停止并解冻动画属性。