I find myself having to make custom animations when I trigger visibility changes since there is no way to do so automatically. I expected LayoutChange
and LayoutAnimation
to handle that case, but no luck. I would suggest that elements would respond to something like:
<Panel>
<VisibilityAnimation Invert="false">
<Change Target="myTarget.Offset" Value="0,-50" Duration="0.5" DurationBack="0" Easing="CubicOut" />
</VisibilityAnimation>
</Panel>
This animation would toggle on and off as if it were inside a WhileTrue
block, therefore running Duration/Easing on Visibility="Visible"
and DurationBack/EasingBack on Visibility="Hidden"
or Visibility="Collapsed"
. The Invert
parameter would start the animation during Hidden or Collapsed and resume it on Visible instead.