轉變我已經定義了以下可視狀態: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