두 번째 패널은 jQuerys slideDown 효과와 같이 단추를 클릭 할 때 아래로 미끄러 져 표시되는 추가 정보 인 두 개의 스택 패널이 있습니다. 그리고 나서 버튼을 다시 클릭하면 위로 미끄러 져 올라갑니다.WPF 가시성 애니메이션 트리거 문제
저는 애니메이션을 처음 보던 적이 없었지만 몇 가지 연구를 해왔습니다. 나는 여전히 매우 혼란스럽고,이 간단한 문제를 파악할 수 없다.
Visibility = Visible 속성에서만 수신 대기하면 잘 동작합니다. 그러나 패널을 위로 밀어 내고 싶을 때 이상한 행동을합니다.
이 내 XAML 코드 :
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Width="600" Orientation="Horizontal">
<TextBlock Style="{StaticResource Heading4}">Panel 1</TextBlock>
<Button Width="300" Margin="30,0,0,0" Click="Button_OnClick">Click to slide other panel down</Button>
</StackPanel>
<StackPanel Name="StackPanelShowHide" Grid.Row="1" Width="500" Orientation="Vertical" Background="Beige" Height="70">
<StackPanel.Style>
<Style TargetType="StackPanel">
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Height" From="0" To="70" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
<Trigger Property="Visibility" Value="Collapsed">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Height" From="70" To="0" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<TextBlock Style="{StaticResource Heading4}">New panel</TextBlock>
</StackPanel>
</Grid>
그리고이 내 Codebehind가있다 : 정말 당신이 :)
종류의 안부 도움이 될 수 있습니다 희망
private void Button_OnClick(object Sender, RoutedEventArgs E) {
if (StackPanelShowHide.Visibility == Visibility.Collapsed) {
StackPanelShowHide.Visibility = Visibility.Visible;
} else {
StackPanelShowHide.Visibility = Visibility.Collapsed;
}
}
, 라스
좋아, 나는 그것을 조사 할 것이다. – Farsen