Анимированный фоновый контроль в WPF?

В моем приложении WPF я хочу иметь окружающий анимированный фон, похожий на фона Media Center. Есть ли бесплатный контроль, который предлагает это?

Ответ 1

Я бы предпочел анимировать фон границы через раскадровку. Это довольно легко, и вы можете создать анимацию настолько сложной, насколько вам нравится. Вот краткий пример:

<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 Обзор анимации.

Ответ 2

Способ анимации фона:

Также возможно установить TargetProperty в "(Background). (SolidColorBrush.Color)", как в этом примере:

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

Ответ 3

Вы можете использовать Grid и поместить элемент видео в последний z-заказ, а также пусть его ширина и высота будут авто, и вы можете воспроизвести в нем видео и поставить свой контейнер перед собой.

В Grid вы можете поместить объекты в указанный порядок z, вы можете создать свой собственный элемент управления анимацией и позволить ему запускаться как первый элемент управления, добавленный в сетку.

В настоящее время нет свойства фона, предлагающего любую анимацию, они могут загружать только фотографии.

Ответ 4

Я попытался бы использовать векторные анимации, если это возможно, воспроизведение видео (которое должно автоматически масштабироваться) не является оптимальным (с точки зрения обработки, масштабирования изображения и т.д.).

Использование векторных фигур/кистей (даже 3D?) было бы намного лучше, на мой взгляд.

Ответ 5

Google "фоновая анимация". Вы получите 18 500 000 хитов.