Дано: Control (x: Name = "border1") с VisualStateManager
. Элемент управления RenderTransform
установлен в TransformGroup
, который содержит TranslateTransform
.Анимация TranslateTransform.Y до высоты элемента управления (цель состоит в том, чтобы сдвинуть элемент с прицела)
В VisualState
«не показаны», TranslateTransform
сек Y
свойство должно быть оживлены к Value
, который (по крайней мере) высота элемента управления переводится (фактически делает его невидимым - ClipToBounds
истинна).
Это код создает смесь:
<VisualState x:Name="NotShown">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="border1">
<EasingDoubleKeyFrame KeyTime="0" Value="{Binding ActualHeight, ElementName=border1}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
РЕДАКТИРОВАТЬ (2): {Binding ActualHeight, ElementName=border1}
не работает. При запуске из VS вместо Blend, есть намек:
Не могу найти руководящие FrameworkElement или FrameworkContentElement для целевых элемента. BindingExpression: Path = ActualHeight; DataItem = NULL; Целевой элемент - «EasingDoubleKeyFrame» (HashCode = 57957548); target property is 'Value' (type 'Double')
Как правильно настроить вещи для этой анимации?
Изменил часть со спекуляцией о том, что может пойти не так ... включая вывод VS, о котором я раньше не знал. – user1282998
Обновление: Made EasingDoubleKeyFrame - ресурс border1. Теперь по крайней мере обязательные работы. Еще впереди ... – user1282998
... и работает по назначению. Могу ли я обвинить Blend в создании этого кода? – user1282998