web-dev-qa-db-ja.com

XAMLを使用してストーリーボードが完了したときに要素の可視性を折りたたみに設定する

Opacityプロパティを使用してコントロールをフェードアウトするストーリーボードアニメーションがあります。完了したら、コントロールの表示を[折りたたみ]に設定します。

逆もできるようにしたいと思います... [表示]を[表示]に設定し、ストーリーボードを使用してコントロールをフェードインします。

イベントをフックできることはわかっていますが、これはすべてXAMLで行いたいと思います。出来ますか?

29
Cameron Peters

アニメーションでもこれを行うことができます

<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>
61
Kishore Kumar