与えられた: コントロール (x:Name="border1") とVisualStateManager
. コントロールは、を含む にRenderTransform
設定されます。TransformGroup
TranslateTransform
VisualState
「NotShown」では、sTranslateTransform
プロパティY
は、Value
(少なくとも) 変換されるコントロールの高さにアニメーション化する必要があります (効果的に非表示にします - ClipToBounds
true に設定します)。
Blend が生成するコードは次のとおりです。
<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}
まったく機能しません。Blend ではなく VS から実行する場合、ヒントがあります。
ターゲット要素の管理 FrameworkElement または FrameworkContentElement が見つかりません。BindingExpression:Path=ActualHeight; DataItem=null; ターゲット要素は 'EasingDoubleKeyFrame' (HashCode=57957548) です。ターゲット プロパティは 'Value' (タイプ 'Double')
このアニメーションの目的に合わせて適切に設定するにはどうすればよいですか?