WPF 확장기 컨트롤에 대한 ControlTemplate을 만들려고하지만 확장 및 Collasped 상태에 애니메이션을 적용하려는로드 블록에 부딪혔습니다.이 VisualStateManager가 애니메이션을 한 번만 트리거하는 이유는 무엇입니까?
응용 프로그램이 처음 시작될 때 확장 상태에 대한 애니메이션은 한 번 트리거되지만 그 이후에는 더 이상 발생하지 않습니다. (. 난 그냥 테스트 값에 일부 가짜가)
<ControlTemplate TargetType="Expander" x:Key="RightExpander">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Name="ContentColumn" Width="0" />
</Grid.ColumnDefinitions>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ExpansionStates">
<VisualState x:Name="Expanded">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="Content" Storyboard.TargetProperty="(RenderTransform).(TranslateTransform.X)" To="-50" From="0"
Duration="0:0:0.3" />
</Storyboard>
</VisualState>
<VisualState x:Name="Collasped">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="Content"
Storyboard.TargetProperty="(RenderTransform).(TranslateTransform.X)"
To="50" From="0" Duration="0:0:0.3" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border Grid.Row="0" BorderThickness="1" Panel.ZIndex="1" >
<Grid>
<ToggleButton IsChecked="{Binding IsExpanded, Mode=TwoWay,
RelativeSource={RelativeSource
TemplatedParent}}"></ToggleButton>
<ContentPresenter ContentSource="Header"
RecognizesAccessKey="True"
IsHitTestVisible="False" />
</Grid>
</Border>
<Border Name="Content" Grid.Column="1" BorderThickness="0,1,1,1"
CornerRadius="0,5,5,0" Background="Pink" RenderTransformOrigin="0,0">
<Border.RenderTransform>
<TranslateTransform X="0" Y="0" />
</Border.RenderTransform>
<ContentPresenter Margin="4" />
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter TargetName="ContentColumn" Property="Width" Value="{Binding
ElementName=Content, Path=DesiredSize.Width}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
내가 잘못하고있는 중이 야 : 내 ControlTemplate이 현재처럼 보이는 방법을 여기
내가 여기에 무슨 일이 일어나고 있는지 확실하지 않다,하지만입니까?
어디 비주얼 상태 매니저 코드입니까? 선언과는 별도로 템플릿의 애니메이션에 대한 참조를 볼 수 없습니다. 철자가 잘못되었습니다 - 코드를 게시 할 수 있습니까? 아아 - 기존 확장기를 템플릿으로 만드는 중입니다. 맞춤법 오류 일 수 있습니까? – Charleh