Nella mia applicazione WPF, voglio avere uno sfondo animato ambient simile allo sfondo di Media Center. C'è un controllo gratuito che offre questo?Controllo sfondo animato in WPF?
risposta
Preferirei animare lo sfondo di un bordo tramite storyboard. È abbastanza semplice e puoi creare un'animazione complessa come preferisci. Ecco un breve esempio:
<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>
Si dovrebbe anche vedere l'articolo MSDN Animation Overview.
È possibile utilizzare una griglia e inserire un elemento video nell'ultimo ordine z e lasciare che la sua larghezza e altezza siano auto e che sia possibile riprodurre un video e posizionare il contenitore davanti ad esso.
Nella griglia è possibile inserire oggetti nell'ordine z specificato, è possibile creare il controllo dell'animazione personalizzato e lasciarlo eseguire come primo controllo aggiunto nella griglia.
Attualmente non ci sono proprietà di sfondo che offrono animazioni, possono solo caricare immagini.
Quindi il mio quesiton è questo: dove posso ottenere un video del genere? :) – RCIX
Beh, ci sono iStockPhoto e tali siti di vendita di contenuti gratuiti come royaltee simili, puoi usarne uno, non sono costosi e puoi ottenere una ricca varietà di video di sottofondo. –
Google "animazione di sfondo". Riceverai 18.500.000 di risultati.
Risposta sbagliata ... –
Vorrei provare a utilizzare animazioni vettoriali, se possibile, la riproduzione di un video (che deve scalare automaticamente) non è ottimale (in termini di elaborazione, ridimensionamento dell'immagine ecc.).
L'utilizzo di forme vettoriali/pennelli (anche 3D?) Sarebbe molto meglio a mio avviso.
Un modo per animare lo sfondo è:
E 'anche possibile impostare la TargetProperty a "(Background) (SolidColorBrush.Color).", Come in questo esempio:
<ColorAnimation
Storyboard.TargetName = "lblSubGroup"
Storyboard.TargetProperty = "(Background).(SolidColorBrush.Color)"
From = "White"
To = "Navy"
Duration = "0:0:3"
AutoReverse = "True"/>
Citato in [ .NET Rocks, episodio 952] (http://www.dotnetrocks.com/default.aspx?showNum=952), 03 min 52 secondi - 05 min 35 secondi. –
WTF? È fantastico ...^_^ –