のための遷移を生成することができません。VisualStateManagerは、私は次のVisual国が定義されている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
細かい作業を、彼らのために2秒以上VisualStateManager
生成遷移アニメーションで。
ただし、ThicknessAnimation
はアニメーション化されません。代わりに、遷移期間の終わりに終了値にスナップします。
VisualStateManager
にトランジションを生成させる方法はありますか、手動でトランジションを強制する必要がありますか?
私は同じことに気付きました。視覚的にBlendを使用してエッジをドラッグすると、RenderTransformを使用して内部的に動作します。手でマージンを変更するのと同じ効果があります。私はそれがバグか、実装されていない機能だと思っています。 – Wouter