He los siguientes estados visuales definidos:VisualStateManager no puede generar transiciones para ThicknessAnimations
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="EditStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:2"/>
</VisualStateGroup.Transitions>
<VisualState Name="Editing" />
<VisualState Name="Normal">
<Storyboard>
<ThicknessAnimation Storyboard.TargetName="ViewBorder" Storyboard.TargetProperty="Margin" To="0" Duration="0"/>
<DoubleAnimation Storyboard.TargetName="Header" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)" To="0" Duration="0"/>
<ColorAnimation Storyboard.TargetName="EditBorder" Storyboard.TargetProperty="Background.Color" To="Red" Duration="0"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
La multa DoubleAnimation
y ColorAnimation
trabajo, con animaciones de transición VisualStateManager
generación de más de 2 segundos para ellos.
Sin embargo, el ThicknessAnimation
no se anima. En cambio, se ajusta al valor de finalización al final del período de transición.
¿Hay alguna forma de obtener VisualStateManager
para generar transiciones, o me veré obligado a proporcionar transiciones manuales?
Noté lo mismo. Cuando utilizas Blend visualmente para arrastrar un borde, funciona internamente usando RenderTransform. Modificar un margen a mano tiene el mismo efecto. Supongo que es un error o una característica no implementada. – Wouter