次の表示状態が定義されています。
<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
、それとも手動でトランジションを提供する必要がありますか?