2010-02-03 8 views
2

나는이 내 창에서 다음 XAML :
alt text http://xs.to/thumb-4CB2_4B69F8E6.jpgWPF - 애니메이션 오류 메시지가 사라지게

나는 계획이 오류 상태에 대한 가시성의 바인딩 : 기본적으로이 표시

<Border Height="100" BorderBrush="Black" BorderThickness="2" CornerRadius="10" Background="PaleVioletRed" HorizontalAlignment="Center" VerticalAlignment="Center"> 
    <TextBlock Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="17" FontWeight="Bold">Error Message Here</TextBlock> 
</Border> 

변수는 오류가 발생할 때 표시됩니다.

하지만 오랫동안 보여주고 싶지 않습니다. 2 초 후에 사라 지거나 사라 지길 바래요. XAML을 통해이 작업을 수행 할 수있는 방법이 있습니까? 또는 좋은 WPF 방식? 이 psudo 코드 로직 같은

뭔가가 :

when (ErrorMessage.Visibility == Visible) 
{ 
    Wait(2000); // Wait 2 seconds 
    ErrorMessage.Visibility == Collapsed; 
} 

하지만 바람직 XAML으로 수행.

본능적으로 내게 애니메이션을 사용하는 방법이 있지만 애니메이션 전문가가 아니며 도움을받을 수 있다고 전했습니다.

다른 옵션은 타이머를 설정하고 타이머를 제어하는 ​​것입니다. 이 같은

답변

2

사용 뭔가 ....

<EventTrigger RoutedEvent="Page.Loaded"> 

    <BeginStoryboard> 
     <Storyboard BeginTime="0:0:1"> 
       <ObjectAnimationUsingKeyFrames Storyboard.TargetName="image1" Storyboard.TargetProperty="Visibility"> 
        <DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" /> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 

    </BeginStoryboard> 
    </EventTrigger> 

변화의 요구에 맞게 라우트 된 이벤트는 2 분 (또는 무엇이든)에 대한 스토리 보드에 BEGINTIME을 설정하여 경계 요소에 targetName을 설정합니다.