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