7. 1. Pinceles y lápices
Dirección del gradiente en LinearGradientBrush.
8. 1. Pinceles y lápices
Propiedad Spread de LinearGradientBrush.
Valor de
Spread
Descripción
Pad Es el valor por defecto, usa el
color sólido de los extremos del
gradiente.
Reflect Hace que el gradiente se extienda
de manera inversa (como el
reflejo en un espejo)
Repeat Hace que el gradiente se repita en
la misma dirección.
29. Lección 2. Animación
1. Fundamentos de Animación
2. Storyboards
3. Líneas de tiempo
4. Animación Double
5. Animación de Color
6. Animación de Puntos
7. Animaciones con KeyFrames
8. Animaciones desde C#
30. 1. Fundamentos de Animación
1. Es modificar el valor de una propiedad de dependencia en un
intervalo de tiempo.
2. Usar una clase de animación correspondiente al tipo de la
propiedad:
DoubleAnimation
PointAnimation
StringAnimationUsingKeyFrames
Etc… (en System.Windows.Animation namespace)
31. 1. Fundamentos de Animación
3. Hay 3 tipos de animación:
1. Transición interpolada:
DoubleAnimation
ColorAnimation
PointAnimation
Etc…
2. Transición abrupta (Key Frames):
◦ DoubleAnimationUsingKeyFrames
◦ ColorAnimationUsingKeyFrames
◦ StringAnimationUsingKeyFramesEtc…
3. Basadas en Paths (Path Based Animations)
◦ DoubleAnimationUsingPath
◦ PointAnimationUsingPath
◦ Etc…
33. 2. Storyboards
Iniciando la animación con EventTrigger:
EventTrigger:
◦ En un Style
◦ O en la colección Triggers de cualquier elemento.
<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
...
</EventTrigger.Actions>
</EventTrigger>
36. 2. Storyboards
Iniciando la animación con otro tipo de Triggers: (Trigger,
MultiTrigger, DataTrigger, y MultiDataTrigger)
Tienen las colecciones EnterActions y ExitActions
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Name="stb1">
<Storyboard>
<DoubleAnimation To="20" Duration="0:0:.5"
Storyboard.TargetProperty="FontSize" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<StopStoryboard BeginStoryboardName="stb1" />
</Trigger.ExitActions>
</Trigger>
38. 3. Líneas de tiempo
Propiedad Descripción
BeginTime Agrega un tiempo de retardo antes de que la animación
comience. Útil para sincronizar el inicio de varias
animaciones.
Duration La duración de la animación de inicio a fin.
SpeedRatio Aumenta (mayor a 1) o reduce (menor a 1) la velocidad
de la animación. Normalmente es 1. Ej: 0.5 tomará el
doble de tiempo.
AccelerationRatio y
DecelerationRatio
Hace que la velocidad de la animación no sea lineal. El
total de ambos valores no puede ser mayor a 1.
Propiedades de la líneas de tiempo
39. 3. Líneas de tiempo
Propiedad Descripción
AutoReverse Con el valor True hará que la animación corra
en reversa una vez que termine y así regrese
a su valor inicial.
FillBehavior Que sucede cuando termina la animación.
Mantiene su valor final (HoldEnd), o usa el
valor inicial (Stop)
RepeatBehavior Repetir la animación un nuero de veces por un
intervalo de tiempo o repetir para siempre
(Forever)
Propiedades de la líneas de tiempo
48. 1. Usando el Sound Player
1. Liviano y fácil de usar.
2. Solo reproduce .wav files descomprimidos.
3. No hay control de volumen, balance, velocidad.
4. No se puede pausar.
49. 1. Usando el Sound Player
1. En C#:
var miPlayer = new System.Media.SoundPlayer();
miPlayer.SoundLocation = "C:audio.wav";
miPlayer.Load(); // miPlayer.LoadAsync();
miPlayer.Play(); // miPlayer.PlaySync();
50. 1. Usando el Sound Player
2. En XAML:
<Button Height="30" Width="80" Content="Hacer Click!">
<Button.Style>
<Style>
<Style.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<SoundPlayerAction Source="C:audio.wav"/>
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
51. 2. MediaPlayer y MediaElement
MediaPlayer y MediaElement:
1. Mayor soporte para reproducción de audio y video
2. Soportan varios formatos.
3. Usan del Windows Media Player 10 o +
4. Permiten Pausar, controlar volumen, velocidad, etc.
52. 2. MediaPlayer y MediaElement
Diferencias:
1. MediaPlayer carga audio y video pero no tiene una representación
visual (no muestra el video por si mismo)
2. MediaElement envuelve al MediaPlayer dándole una representación
visual
3. MediaPlayer no es fácilmente usado en XAML, pero MediaElement
si.
53. 2. Media Player y Media Element
1. MediaPlayer, en C#:
var miPlayer = new
System.Windows.Media.MediaPlayer();
miPlayer.Open(new Uri("mp3Audio.mp3"));
miPlayer.Play();
54. 2. Media Player y Media
Element
2. MediaElement:
Declarado en XAML:
Iniciado desde C#:
<MediaElement
Source="video.mp4"
LoadedBehavior="Manual"
Name="mediaElement1"/>
mediaElement1.Play();