Wpf 在EventTrigger中设置垂直对齐
如何设置一个似乎没有关联动画类型的属性?具体来说,每当激活Wpf 在EventTrigger中设置垂直对齐,wpf,xaml,vertical-alignment,eventtrigger,Wpf,Xaml,Vertical Alignment,Eventtrigger,如何设置一个似乎没有关联动画类型的属性?具体来说,每当激活EventTrigger时,我想更改控件的垂直对齐。以下是我的当前状态/尝试失败: <EventTrigger RoutedEvent="my:MenuHelper.MenuIsReversed"> <BeginStoryboard> <Storyboard> <ObjectAnimationUsingKe
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>
这就产生了这个例外:
无法在上设置“VerticalAlignment”属性的动画
使用
“System.Windows.Media.Animation.ObjectAnimationUsingKeyFrames”。对于
详细信息请参见内部异常
内部异常:
应用于“垂直对齐”特性的动画计算
当前值为“Top”,它不是该属性的有效值
我不确定我是否对垂直对齐类型进行了不正确的限定,或者这只是设置非典型动画属性的错误方式。对不起,请快速回答我自己的问题。我发现我没有很好地设置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>
顶部