2011-10-07 6 views
6

나는이 버튼을 클릭하면 스택 패널이 사라지는 버튼이있는 스택 패널이 있습니다. 전환 모양을 숨겨진 상태로 표시하고 싶지만 할 수는 없습니다. WPF 스택 패널 가시성 애니메이션

나는 잠시 동안 주위를 둘러 보았다이처럼 보이는 무언가에 부딪쳤다 :

<StackPanel Margin="80,60,60,80" Background="Gray"> 
      <StackPanel.Triggers > 

       <EventTrigger > 
        <EventTrigger.Actions> 
         <BeginStoryboard> 
          <Storyboard TargetProperty="Visibility"> 

           <DoubleAnimation Duration="0:0:5:0" From="Visible" To="Hidden"/> 

          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger.Actions> 
       </EventTrigger> 

      </StackPanel.Triggers> 
      <Button Name="buttonTop" Content="TOP" Margin="40,40,40,40" Click="buttonTop_Click" Width="131" /> 
     </StackPanel> 

물론, 아직 100 % 아니다한다. 어떤 아이디어?

고맙습니다

답변

10

당신은 사용할 수 있습니다

<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ItemsHost" 
           Storyboard.TargetProperty="Visibility"> 
    <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}"/> 
</ObjectAnimationUsingKeyFrames> 

이 KeyTime이이 값을 설정해야하는 시간을 설명하는 스토리 보드에서 거의 세터입니다. 그래서 전체 스토리 보드는 다음과 같습니다

<BeginStoryboard> 
    <Storyboard> 
     <DoubleAnimation Storyboard.TargetProperty="Opacity" 
         To="0" Duration="0:0:5.0"/> 
     <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility"> 
      <DiscreteObjectKeyFrame KeyTime="0:0:5.0" Value="{x:Static Visibility.Hidden}"/> 
     </ObjectAnimationUsingKeyFrames> 
    </Storyboard> 
</BeginStoryboard> 

편집 :

<Button Content="Button" HorizontalAlignment="Left" Margin="337,221,0,0" VerticalAlignment="Top" Width="75"> 
    <Button.Triggers> 
     <EventTrigger RoutedEvent="Button.Click"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetProperty="Opacity" 
       To="0" Duration="0:0:5.0"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:5.0" Value="{x:Static Visibility.Hidden}"/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Button.Triggers> 
</Button> 
+0

자세한 답변을 보내 주셔서 감사합니다. 잘 작동한다. 버튼을 클릭 할 때 활성화되도록 설정하려면 어떻게해야합니까? – hikizume

+0

에서 편집했습니다. – AkselK

+0

우수. 고마워요! – hikizume

4

Visibiltiy 이산 값 - 그것은 또는 해제, 그래서 애니 메이팅은 여전히 ​​갑자기 실종이 아니라 점진적보다는 페이드 아웃 발생합니다. 대신 StackPanelOpacity에 1에서 0까지 애니메이션을 적용한 다음 VisibiltyHidden (또는 Collapsed)으로 애니메이션을 적용 할 수 있습니다.

+1

내가 생각을 이해하지만 난을 WPF 매우 새로 온 이후 : 버튼을 클릭 스토리 보드 트리거를 만들려면 아이디어를 코드화하는 지식이 부족합니다. 더 자세한 답변을 주시면 감사하겠습니다. – hikizume