WPF中的动画背景控件?

时间:2009-08-29 07:11:16

标签: wpf wpf-controls background animated

在我的WPF应用程序中,我想要一个类似于Media Center背景的环境动画背景。是否有免费控制提供此功能?

5 个答案:

答案 0 :(得分:9)

为背景设置动画的方法是:

也可以将TargetProperty设置为“(背景)。(SolidColorBrush.Color)”,如下例所示:

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

答案 1 :(得分: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

答案 2 :(得分:1)

您可以使用网格并将视频元素放在最后的z顺序中,并让其宽度和高度为自动,您可以在其中播放视频并将容器放在其前面。

在网格中,您可以按指定的z顺序放置对象,您可以创建自定义动画控件,并让它在网格中添加第一个控件时运行。

目前没有提供任何动画的Background属性,它们只能加载图片。

答案 3 :(得分:1)

如果可能,我会尝试使用矢量动画,播放视频(必须自动缩放)不是最佳的(在处理,图像缩放等方面)。

在我看来,使用矢量形状/画笔(甚至3D?)会更好。

答案 4 :(得分:-15)

谷歌“背景动画”。你将获得18,500,000次点击。