В моем приложении WPF я хочу иметь анимированный фон, похожий на фон Media Center. . Есть ли бесплатный контроль, который предлагает это?
Вопрос
Анимированный фоновый элемент управления в WPF?
- Упоминается в .NET Rocks, эпизод 952, 03 мин. 52 сек. - 05 мин. 35 сек. Peter Mortensen 21.02.2014
- ВТФ? Это круто... ^_^ Marcel B 24.07.2014
Ответы
Ответ 1 · рейтинг 8 · Marcel B
Я бы предпочел анимировать фон границы с помощью раскадровки. Это довольно просто, и вы можете создать анимацию любой сложности. Вот краткий пример:
<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 · рейтинг 9 · Björn
Способ анимации фона:
Также можно установить для TargetProperty значение "(Background).(SolidColorBrush.Color)", как в этом примере:
<ColorAnimation
Storyboard.TargetName = "lblSubGroup"
Storyboard.TargetProperty = "(Background).(SolidColorBrush.Color)"
From = "White"
To = "Navy"
Duration = "0:0:3"
AutoReverse = "True"/>
Ответ 3 · рейтинг 1 · Akash Kava
Вы можете использовать сетку и поместить элемент видео в последний порядок z, и пусть его ширина и высота будут автоматическими, и вы можете воспроизвести в нем видео и поместить свой контейнер перед ним.
В сетке вы можете размещать объекты в указанном порядке z, вы можете создать свой собственный элемент управления анимацией и позволить ему работать как первый элемент управления, добавленный в сетку.
В настоящее время нет свойства Background, предлагающего какую-либо анимацию, они могут загружать только изображения.
Ответ 4 · рейтинг 1 · Darknight
Я бы попытался использовать векторную анимацию, если это возможно, воспроизведение видео (которое должно автоматически масштабироваться) не оптимально (с точки зрения обработки, масштабирования изображения и т. д.).
На мой взгляд, использование векторных фигур/кистей (даже 3D?) было бы намного лучше.
Ответ 5 · рейтинг -15 · David Veeneman
Гуглите "фоновая анимация". Вы получите 18 500 000 просмотров.
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Как остановить службы определения местоположения, когда приложение находится в фоновом режиме?
- Растянуть фоновое изображение css?
- Установка фонового изображения для элемента body в xhtml (для разных мониторов и разрешений)
- Как предотвратить убийство активности Android
- WPF: совместное использование ресурсов между сборками
- Обратитесь к активному окну в WPF?