2009-08-29 18 views
11

私のWPFアプリケーションでは、Media Centerの背景に似た周囲のアニメーションの背景を持っています。これを提供するフリーコントロールはありますか?WPFのアニメーション背景コントロール?

+2

で参照[ .NET Rocks、episode 952](http://www.dotnetrocks.com/default.aspx?showNum=952)、03分52秒 - 05分35秒。 –

+0

WTF?それは素晴らしいです...^_^ –

答えて

8

私はストーリーボードを介してボーダーの背景をアニメーション化することをお勧めします。かなり簡単で、複雑なアニメーションを好きなだけ作成することができます。ここでは簡単な例です:

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 
    <Window.Triggers> 
     <EventTrigger RoutedEvent="Window.Loaded"> 
      <BeginStoryboard> 
       <Storyboard AutoReverse="True" BeginTime="0" > 
        <DoubleAnimation Storyboard.TargetName="Foo" 
            Storyboard.TargetProperty="Offset" 
            From="0.2" To="0.8" Duration="0:0:10"/> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Window.Triggers> 
    <Border> 
     <Border.Background> 
      <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
        <GradientStop Color="Yellow" Offset="0"/> 
        <GradientStop Color="Orange" Offset="0.2" x:Name="Foo"/> 
        <GradientStop Color="Red" Offset="1"/>    
      </LinearGradientBrush> 
     </Border.Background> 
    <!-- put your windowcontent(grid etc.) here --> 
    </Border> 
</Window> 

ます。また、MSDNの記事Animation Overviewが表示されるはずです。

1

グリッドを使用してビデオ要素を最後のzオーダーに配置し、幅と高さを自動にして、ビデオを再生してコンテナをその前に置くことができます。

グリッドでは、指定したz順にオブジェクトを配置できます。カスタムアニメーションコントロールを作成し、グリッドに追加された最初のコントロールとして実行できます。

現在のところ、アニメーションを提供するBackgroundプロパティはありません。ピクチャのみを読み込むことができます。

+0

私のquesitonはこれです:どこでそのようなビデオを得ることができますか? :) – RCIX

+0

よくiStockPhotoとそのような類似のロイヤルティフリーのコンテンツ販売サイト、あなたはそれらの1つを使用することができます、彼らは高価ではありませんし、豊富な背景ビデオを得ることができます。 –

-14

Google「バックグラウンドアニメーション」。あなたは18,500,000ヒットを得るでしょう。

+2

間違った答え... –

1

可能であればベクトルアニメーションを試してみましたが、ビデオの再生(自動的にスケーリングする必要があります)は最適ではありません(処理、画像スケーリングなど)。

ベクターの形やブラシ(3Dでも構いません)を使用する方がずっと良いでしょう。

8

背景をアニメーション化する方法である:

この例のようにTargetPropertyに "(背景)(SolidColorBrush.Color)" を設定することも可能である。

<ColorAnimation 
    Storyboard.TargetName = "lblSubGroup" 
    Storyboard.TargetProperty = "(Background).(SolidColorBrush.Color)" 
    From = "White" 
    To = "Navy" 
    Duration = "0:0:3" 
    AutoReverse = "True"/> 
関連する問題