2012-01-28 17 views
6

ViewModelのプロパティによってトリガされたアニメーションを取得できました。 TargetPropertyWidthに設定した場合、以下のコードは実際に画像を拡大する際に機能します。添付プロパティを使用してXAMLでWPF要素をアニメーション化しますか?

次に、実際に画像を上下に移動したいと考えました。これを行うには、画像の周りにCanvasコンポーネントを追加し、Canvas.Topプロパティに基づいてアニメーションできるようにしました。画像上にCanvas.Topを設定すると、私はそれを移動します。

Cannot resolve all property references in the property path Canvas.Top.

<Style x:Key="LoadingImageAnimation" TargetType="{x:Type Image}"> 
    <Style.Triggers> 
    <DataTrigger Binding="{Binding IsLoading}" Value="True"> 
     <DataTrigger.EnterActions> 
     <BeginStoryboard> 
      <Storyboard> 
      <DoubleAnimation From="10" To="250" AutoReverse="True" Duration="0:0:30" 
          Storyboard.TargetProperty="Canvas.Top"/> 
      </Storyboard> 
     </BeginStoryboard> 
     </DataTrigger.EnterActions> 
    </DataTrigger> 
    </Style.Triggers> 
</Style> 

は私のアプローチは完全にオフになっている、または添付プロパティを見つけるだけの問題:私は私のStoryBoard.TargetPropertyCanvas.Topに設定されている場合

しかし、私はエラーを取得しますか?

+2

'Storyboard.TargetProperty ="(Canvas.Top) "'を試してください。 –

答えて

12

Property Path Syntaxを少し掘り下げました。ソリューションは実際にはシンプルです。カッコ(Canvas.Top)を追加する必要がありました。

アニメーションは私が望むほど滑らかではありませんが、少なくとも今は動作します。

+0

+1私はちょうどそれを投稿しようとしていた。 –

関連する問題