2016-10-20 6 views
0

流体ではありませんここで私がやろうとしているものです:WPFストーリーボードアニメーションが

、CONTROL1が見えるようCONTROL2が崩壊させる、0.8秒以上の制御1の上に1から0に不透明度をアニメーション化します。これが行われた直後

、次の操作を行います。

は、CONTROL1が崩壊してくださいCONTROL2が見えるように、0.8秒以上CONTROL2に0から1への不透明度をアニメーション化します。

私はそれが流動的になることはできませんし、私はアイデアを出しています。ここで私が持っているものです。

<Storyboard x:Key="sb"> 
    <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.8000000" Storyboard.TargetName="MainTabControl" 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}"/> 
    </ObjectAnimationUsingKeyFrames> 
    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.8000000" Storyboard.TargetName="MainTabControl" Storyboard.TargetProperty="(UIElement.Opacity)"> 
     <LinearDoubleKeyFrame KeyTime="00:00:00" Value="1"/> 
     <LinearDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0"/> 
    </DoubleAnimationUsingKeyFrames> 
    <ObjectAnimationUsingKeyFrames BeginTime="00:00:00.8000000" Duration="00:00:00.8000000" Storyboard.TargetName="SearchProjectsView" Storyboard.TargetProperty="(UIElement.Visibility)"> 
     <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{x:Static Visibility.Collapsed}"/> 
     <DiscreteObjectKeyFrame KeyTime="00:00:00.8000000" Value="{x:Static Visibility.Visible}"/> 
    </ObjectAnimationUsingKeyFrames> 
    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00.8000000" Duration="00:00:00.8000000" Storyboard.TargetName="SearchProjectsView" Storyboard.TargetProperty="(UIElement.Opacity)"> 
     <LinearDoubleKeyFrame KeyTime="00:00:00.0000000" Value="0"/> 
     <LinearDoubleKeyFrame KeyTime="00:00:00.8000000" Value="1"/> 
    </DoubleAnimationUsingKeyFrames> 
</Storyboard> 
+1

は、私たちはそれを実行し、トラブルシューティングに役立つすることが簡単だようにコードやサンプル・プロジェクトのZIPのすべてを掲載することが可能ですか? –

答えて

1

あなたが同時に不透明度とVisbilityをアニメーション化する理由それはあなたの質問から明らかではないが、あなたの問題は、第二の制御の可視性のアニメーションをすぐに開始すべきであるということです、0.8秒後ではない。

これは動作するはずです:

<Storyboard> 

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

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

    <DoubleAnimation 
     Storyboard.TargetName="MainTabControl" Storyboard.TargetProperty="Opacity" 
     From="1" To="0" Duration="0:0:0.8"/> 

    <DoubleAnimation 
     Storyboard.TargetName="SearchProjectsView" Storyboard.TargetProperty="Opacity" 
     From="0" To="1" BeginTime="0:0:0.8" Duration="0:0:0.8"/> 

</Storyboard> 
+0

コントロールの不透明度が0の場合は、まだウィンドウに描画されています。それは完全に透明であるかもしれませんが、その下に完全に見える要素をブロックします。 – shady

+0

私はWPFでのヒットテストは透明なピクセルを無視すると思った。 –

+0

@BradleyUffnerいいえ、無視しません。ヌルの背景塗りブラシだけを無視します。 – Clemens

関連する問題