Margin
いいえ、対応する依存関係プロパティが定義されていないため、アニメーションを にバインドすることはできません。いくつかの選択肢がありますが、ここでは 2 つを示します。
- オブジェクトを Canvas に配置し、アニメーション化
Canvas.Left
してCanvas.Top
- オブジェクトにを定義し、そのとプロパティ
RenderTransform
をアニメーション化します。X
Y
1)
<Canvas>
<TextBlock Text="test" x:Name="ReferenceInfo" Canvas.Left="0" Canvas.Top="0" />
</Canvas>
ここで、ストーリーボードの短いターゲットは同じ elementですが、「(Canvas.Left)」のような括弧を使用して示す添付プロパティReferenceInfo
をターゲットにしています。
<DoubleAnimation
Storyboard.TargetName="ReferenceInfo"
Storyboard.TargetProperty="(Canvas.Left)" Duration="0:0:0.15"
To="{Binding Width}"/>
2)
<TextBlock Text="test" x:Name="ReferenceInfo">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="TranslateReferenceInfo" X="0" Y="0" />
</TextBlock.RenderTransform>
</TextBlock>
アニメーションはそれTranslateTransform
自体を名前で参照します。
<DoubleAnimation
Storyboard.TargetName="TranslateReferenceInfo"
Storyboard.TargetProperty="X" Duration="0:0:0.15"
To="{Binding Width}"/>