我正在尝试制作TranslateTransform动画。在动画中,我需要我的对象保持在窗口的中心。我知道WPF动画是Freezable。我正在使用转换器,但是它在启动时会初始化值。有什么方法可以在运行时设置EasingDoubleKeyFrame的值吗?
这是我的XAML代码:
<Storyboard x:Key="Storyboard1">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="grid">
<EasingDoubleKeyFrame KeyTime="0" Value="{Binding Width, Converter={StaticResource Minus}, ElementName=grid}"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="{Binding Width, Converter={StaticResource EnteringValueConverter}, ElementName=grid}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
最佳答案
将x:Name属性添加到EasingDoubleKeyFrame元素。
之后,您应该可以通过代码访问它:
x:Name =“ keyframe”
然后:
keyframe.SetValue(EasingDoubleKeyFrame.ValueProperty,yourValue);