Multimedia
Opetellaan lisäämään video tai ääni sovellukseen, tutustutaan animaatioiden ja leikepöydän käyttämiseen.
- Luentovideo (Youtube)
- tjlahton2012-03-14_1325.mp4 98.3 Mt
- tjlahton2012-03-14_1325.wmv 85.7 Mt
- tjlahton2012-03-14_1325.mp3 12.0 Mt
MediaElement ja MediaPlayer
Videota ja ääntä voi helposti lisätä sovellukseensa MediaElement- tai MediaPlayer-kontrolleilla.
MediaElement-kontrollin voi suoraan luoda XAML-tiedostoon. MediaPlayer täytyy luoda dynaamisesti.
Tuettavat mediat riippuvat Windows Media Playerista
Independent mode
- Voidaan suoraan viitava videoon URIlla
- Voidaan suoraan vaikuttaa median esitykseen (käynnistää, pysäyttää, tauottaa, sulkea)
- Voidaan säätää aloituskohtaa ja nopeutta
Clock mode
MediaTimeline toimii storyboardissa ja kaikki animaatioihin liittyvät ominaisuudet pätevät.
- MediaTimeline määrää esitettävän median
- Esitystä kontrolloidaan kellolla.
Animaatiot
WPF:ssä on valmiina tuki dependency propertyjen animoinnille.
<Canvas> <Rectangle Width="100" Height="1000" Name="rasterbar" Canvas.Left="0" Canvas.Top="-300"> <Rectangle.Fill> <!-- gradienteista tarkemmin osoitteessa http://msdn.microsoft.com/en-us/library/ms754083.aspx --> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <GradientStop Color="#ff000000" Offset="0.0" /> <GradientStop x:Name="vari" Color="#ffff0000" Offset="0.5" /> <GradientStop Color="#ff000000" Offset="1.0" /> </LinearGradientBrush> </Rectangle.Fill> <Rectangle.RenderTransform> <RotateTransform Angle="0" x:Name="rotate" CenterX="50" CenterY="500" /> </Rectangle.RenderTransform> <Rectangle.Triggers> <EventTrigger RoutedEvent="Rectangle.Loaded"> <BeginStoryboard> <Storyboard> <!-- Attached propertyt pitää merkitä sulkeissa. Muut ilman sulkeita --> <DoubleAnimation Storyboard.TargetName="rasterbar" Storyboard.TargetProperty="(Canvas.Left)" From="0.0" To="300.0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" /> <ColorAnimation Storyboard.TargetName="vari" Storyboard.TargetProperty="Color" From="#ffff0000" To="#ffff00ff" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" /> <DoubleAnimation Storyboard.TargetName="rotate" Storyboard.TargetProperty="Angle" From="0.0" To="360.0" Duration="0:0:5" AutoReverse="False" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Rectangle.Triggers> </Rectangle> </Canvas>
Käyttäjien kommentit