答案 0 :(得分:0)
链接:
在您的情况下,问题是"高度向下增长或向上/向下(50%)每个"。为了使Rectangle只向上增长,几乎没有什么小挑战。
如何为Canvas.Top等附加属性设置动画。 (方法1)
如何为比例变换设置动画。 (方法2)
我使用Canvas发布了一个工作代码(方法1)。
<Canvas Margin="482,125,206,10" Background="MediumSeaGreen">
<Rectangle x:Name="Rect" Fill="#FF030315" Height="100" Stroke="Black" Width="42" Canvas.Top="222">
<Rectangle.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard x:Name="Sb">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(Canvas.Top)" Storyboard.TargetName="Rect" By="-100" Duration="0:0:5"/>
<DoubleAnimation Storyboard.TargetProperty="Height" Storyboard.TargetName="Rect" By="100" Duration="0:0:5"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<EventTrigger.Actions>
<PauseStoryboard BeginStoryboardName="Sb" />
</EventTrigger.Actions>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
</Canvas>
答案 1 :(得分:-2)
我不确切地知道你的意思,我不太喜欢WPF,但我会绘制一个矩形,然后用一个Timer来重绘并调整它。