私はこの問題を抱えており、乗り越えられないようです。多分誰かが助けることができます。
DoubleAnimations を動的に作成するメソッドを作成しています。配列からさまざまなユーザー コントロールの配列をフィードすると、StoryBoard に追加する DoubleAnimations が自動的に作成されます。
つまり、 PlaneProjection.RotationYPropertyとControl.OpacityPropertyの 2 種類の PropertyPath を挿入する必要があります。それらに対してStoryboard.SetTargetを別の方法で設定する必要があるため、メソッドで TargetProperty を呼び出す PropertyPath 引数を比較する方法が必要です。ここで説明するのは、私がコードでやろうとしていることの一部です:
if (TargetProperty == new PropertyPath (PlaneProjection.RotationYProperty))
{
// Do some code
projection = control.Projection as PlaneProjection;
Storyboard.SetTarget(doubleAnimation, projection);
}
else if (TargetProperty == new PropertyPath (Control.OpacityProperty))
{
Storyboard.SetTarget(doubleAnimation, control);
}
bool を回避策として使用することでメソッドを機能させることができましたが、可能であればメソッドの引数の数を減らすことをお勧めします。
私は使用してみました:
if (TargetProperty.ToString() == new PropertyPath (PlaneProjection.RotationYProperty).ToString())
... と...
if (TargetProperty.Equals(new PropertyPath (PlaneProjection.RotationYProperty)))
...しかし、どれも機能しませんでした。これを回避するためのアイデアはありますか?私は何か間違ったことをしていますか?
前もって感謝します!