У меня есть конструкция ниже, и она работает:
<Storyboard x:Key="GrowOnStart">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.Left)" Storyboard.TargetName="window">
<EasingDoubleKeyFrame KeyTime="0" Value="1024"/>
Почему это не работает, если я пробую что-то вроде этого:
<EasingDoubleKeyFrame KeyTime="0" Value="{DynamicResource StartingPositionLeft}"/>
И да, я определил ресурс перед раскадровкой. И оператор как следующий не работал бы также:
<EasingDoubleKeyFrame KeyTime="0" Value="{Binding StartingPositionLeft}"/>
И да это - общественная собственность на коде позади и этом. DataContext устанавливают на это.
Это потому, что анимация является замораживаемым объектом. Дополнительную информацию можно найти в Документации MSDN , но в основном это означает, что вы не можете использовать привязку, потому что свойства в замороженном объекте (т. Е. Анимация) не могут измениться.
Чтобы обойти это ограничение, вам нужно будет выполнить часть или всю работу в коде программной части.