使用XAML完成Storyboard完成时将元素的可见性设置为折叠

时间:2011-03-31 04:49:32

标签: wpf xaml storyboard

我有一个故事板动画,使用Opacity属性将控件淡出视图。完成后,我想将控件的可见性设置为Collapsed。

我也希望能够反过来......将可见性设置为可见,然后使用故事板将控件淡入视图。

我知道我可以连接事件,但我想在XAML中完成所有操作。有可能吗?

1 个答案:

答案 0 :(得分:57)

你也可以在动画中做到这一点

<Window.Resources>
    <Storyboard x:Key="OnLoaded1">
        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button" Storyboard.TargetProperty="(UIElement.Visibility)">
            <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{x:Static Visibility.Visible}"/>
            <DiscreteObjectKeyFrame KeyTime="00:00:00.8000000" Value="{x:Static Visibility.Collapsed}"/>
            <DiscreteObjectKeyFrame KeyTime="00:00:01.4000000" Value="{x:Static Visibility.Visible}"/>
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
        <BeginStoryboard Storyboard="{StaticResource OnLoaded1}"/>
    </EventTrigger>
</Window.Triggers>