Animated Video Window : Window « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="SoundAndVideo.AnimatedVideoWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="AnimatedVideoWindow" Height="450" Width="400">

  <Window.Resources>
    <Storyboard x:Key="MediaStoryboardResource">
      <MediaTimeline Storyboard.TargetName="media" Source="test.mpg" FillBehavior="HoldEnd"
                      RepeatBehavior="Forever"></MediaTimeline>
      <DoubleAnimation Storyboard.TargetName="media" Storyboard.TargetProperty="(MediaElement.RenderTransform).(RotateTransform.Angle)"
    To="360" Duration="0:0:2" RepeatBehavior="Forever"></DoubleAnimation>
    </Storyboard>
  </Window.Resources>

  <StackPanel>
    <StackPanel.Triggers>
      <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdPlay">
        <EventTrigger.Actions>
          <BeginStoryboard Name="MediaStoryboard" Storyboard="{StaticResource MediaStoryboardResource}"/>
        </EventTrigger.Actions>
      </EventTrigger>
      <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="cmdStop">
        <EventTrigger.Actions>
          <StopStoryboard BeginStoryboardName="MediaStoryboard"/>
        </EventTrigger.Actions>
      </EventTrigger>      
    </StackPanel.Triggers>

      <Button Name="cmdPlay">Play (Declarative)</Button>
      <Button Name="cmdStop">Stop (Declarative)</Button>
      <Button Click="cmdPlayCode_Click">Play (Code)</Button>
    <MediaElement Name="media" Grid.Row="1" Stretch="None" RenderTransformOrigin="0.5,0.5" >
      <MediaElement.RenderTransform>
        <RotateTransform></RotateTransform>
      </MediaElement.RenderTransform>
    </MediaElement>
  </StackPanel>

</Window>
//File:Window.xaml.vb

Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Imports System.Windows.Media.Animation

Namespace SoundAndVideo
  Public Partial Class AnimatedVideoWindow
    Inherits System.Windows.Window
    Public Sub New()
      InitializeComponent()
    End Sub
    Private Sub cmdPlayCode_Click(sender As Object, e As RoutedEventArgs)
      Dim timeline As New MediaTimeline(New Uri("test.mpg", UriKind.Relative))
      timeline.RepeatBehavior = RepeatBehavior.Forever

      Dim clock As MediaClock = timeline.CreateClock()
      Dim player As New MediaPlayer()
      player.Clock = clock

      Dim videoDrawing As New VideoDrawing()
      videoDrawing.Rect = New Rect(150, 0, 100, 100)
      videoDrawing.Player = player

      Dim brush As New DrawingBrush(videoDrawing)
      Me.Background = brush

      clock.Controller.Begin()
    End Sub
  End Class
End Namespace
WPF Animated Video Window








16.57.Window
16.57.1.Custom WindowCustom Window
16.57.2.Set window size in XAMLSet window size in XAML
16.57.3.A simple user-login XAML pageA simple user-login XAML page
16.57.4.User login screen with no layout or formattingUser login screen with no layout or formatting
16.57.5.Automatically Size the Main Application Window to Accommodate Its ContentAutomatically Size the Main Application Window to Accommodate Its Content
16.57.6.Window OwnershipWindow Ownership
16.57.7.Creating the main panel and add to Window in CodeCreating the main panel and add to Window in Code
16.57.8.Show window based on button nameShow window based on button name
16.57.9.Set a Default ButtonSet a Default Button
16.57.10.Window with Menu, ToolBar, StatusBarWindow with Menu, ToolBar, StatusBar
16.57.11.Order of precedence for sizing-related properties that are implemented by Window.Order of precedence for sizing-related properties that are implemented by Window.
16.57.12.Use Window Activated and Deactivated event to control a media fileUse Window Activated and Deactivated event to control a media file
16.57.13.Animated Video WindowAnimated Video Window
16.57.14.Use WindowState to make full screen window, change resize mode to NoReSizeUse WindowState to make full screen window, change resize mode to NoReSize
16.57.15.Do not handle events until Window is fully initialized.Do not handle events until Window is fully initialized.
16.57.16.Load resource from Window ResourcesLoad resource from Window Resources
16.57.17.Launch a window with defined XAMLLaunch a window with defined XAML
16.57.18.Display window as dialogDisplay window as dialog
16.57.19.Save Window Position to RegistrySave Window Position to Registry
16.57.20.Center a Window to ScreenCenter a Window to Screen