1

私は以下の構造を持っています、そしてそれは働きます:

 <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}"/>

はい、これはコードビハインドのパブリックプロパティであり、this.DataContextはthisに設定されています。

4

1 に答える 1

2

これは、アニメーションがフリーズ可能なオブジェクトであるためです。MSDNドキュメントに詳細がありますが、基本的には、フリーズされたオブジェクト(つまりアニメーション)のプロパティを変更できないため、バインディングを使用できないことを意味します。

この制限を回避するには、コードビハインドで作業の一部またはすべてを実行する必要があります。

于 2010-08-05T14:55:26.560 に答える