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

Cam*_*ers 29 wpf xaml storyboard

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

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

我知道我可以连接事件,但我想在XAML中完成这一切.可能吗?

Kis*_*mar 61

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

<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>
Run Code Online (Sandbox Code Playgroud)

  • +1 太棒了!这是一个很棒的技巧...我不敢相信我以前没有见过它。谢谢。 (2认同)