转变我已经定义了以下可视状态:VisualStateManager不能产生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>
的DoubleAnimation
和ColorAnimation
做工精细,用VisualStateManager
生成过渡动画超过2秒他们。
但是,ThicknessAnimation
不动画。而是在转换期结束时捕捉到结束值。
有没有办法让VisualStateManager
为它生成转换,还是我将被迫提供手动转换?
我注意到了。当您直观地使用Blend将边缘拖出时,它会使用RenderTransform在内部运行。用手修改边距具有相同的效果。我想这是一个错误或没有实现的功能.. – Wouter