1

アニメーションタイプが関連付けられていないように見えるプロパティを設定するにはどうすればよいですか?具体的には、がアクティブVerticalAlignmentになるたびにコントロールを変更したいと思います。EventTriggerこれが私の現在のステータス/失敗した試みです:

    <EventTrigger RoutedEvent="my:MenuHelper.MenuIsReversed">
          <BeginStoryboard>
              <Storyboard>
                  <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="VerticalAlignment" Storyboard.TargetName="Bouncy_Bar">
                    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Top"/>
                  </ObjectAnimationUsingKeyFrames>
              </Storyboard>
          </BeginStoryboard>
   </EventTrigger>

これにより、この例外が発生します。

「System.Windows.Media.Animation.ObjectAnimationUsingKeyFrames」を使用して「System.Windows.Controls.Border」の「VerticalAlignment」プロパティをアニメーション化することはできません。詳細については、内部例外を参照してください。

内部例外:

'VerticalAlignment'プロパティに適用されたアニメーションは、' Top'の現在の値を計算しますが、これはプロパティの有効な値ではありません。

タイプを不適切に修飾しているかVerticalAlignmentどうか、またはこれが非定型のアニメーションプロパティを設定するための単に間違った方法であるかどうかはわかりません。

4

1 に答える 1

2

申し訳ありませんが、私自身の質問にすばやく答えてくれました。XAMLターゲットタイプを十分に指定するためのレイアウトが不十分であることがわかりました。作業結果は次のとおりです。

    <EventTrigger RoutedEvent="pill:PillMenuHelper.MenuIsReversed">
          <BeginStoryboard>
              <Storyboard>
                  <DoubleAnimation Storyboard.TargetName="Bouncy_Bar" Storyboard.TargetProperty="RenderTransform.Children[1].ScaleY" To="-1" Duration="0:0:.002"/>
                  <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="VerticalAlignment" Storyboard.TargetName="Bouncy_Bar">
                    <DiscreteObjectKeyFrame KeyTime="0:0:0">
                        <DiscreteObjectKeyFrame.Value>
                            <VerticalAlignment>Top</VerticalAlignment>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                  </ObjectAnimationUsingKeyFrames>
              </Storyboard>
          </BeginStoryboard>
   </EventTrigger>
于 2012-10-15T18:24:31.007 に答える