【发布时间】:2015-03-06 23:26:13
【问题描述】:
我有一个看起来像这样的Storyboard 动画:
<Grid Name="Choice" VerticalAlignment="Stretch" Width="400">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Tapped">
<Media:ControlStoryboardAction>
<Media:ControlStoryboardAction.Storyboard>
<Storyboard x:Name="Animation">
<DoubleAnimationUsingKeyFrames EnableDependentAnimation="True" Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="Choice">
<EasingDoubleKeyFrame KeyTime="0" Value="{Binding Path=InitialWidth}"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="{Binding Path=FinalWidth}" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Media:ControlStoryboardAction.Storyboard>
</Media:ControlStoryboardAction>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Source="{Binding Path=Image}" Stretch="UniformToFill" />
</Grid>
我在属性InitialWidth 和FinalWidth 中设置的初始值似乎是正确的,但是如果我稍后更改,它们不会更新并且是0。我在某处读到无法在运行时将属性绑定到 Storyboard 值,但我没有找到任何官方文档说明这一点。
我的问题是,我可以将属性绑定到 Storyboard 值吗?如果是这样,我需要改变什么?
【问题讨论】:
-
理论上可以,因为
EasingDoubleKeyFrame.Value是一个依赖属性。棘手的部分是弄清楚如何,因为故事板不在视觉树中。您是否在输出窗口中看到任何绑定错误? -
不,没有绑定错误。
标签: wpf xaml binding storyboard windows-store-apps