MediaElement的暂停,播放功能。
<UserControl x:Class="Control_Test.MediaElement" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <UserControl.Resources> <ImageBrush x:Key="StartImgBrush" ImageSource="Chapter02/player_start.png"/> <ImageBrush x:Key="PauseImgBrush" ImageSource="Chapter02/player_pause.png"/> <ImageBrush x:Key="PlayImgBrush" ImageSource="Chapter02/player_play.png"/> <ImageBrush x:Key="StopImgBrush" ImageSource="Chapter02/player_stop.png"/> <!--Button控件模板--> <ControlTemplate x:Key="ButtonTemplate" TargetType="Button"> <Grid> <Rectangle x:Name="Rect" Fill="{TemplateBinding Background}"/> </Grid> </ControlTemplate> <ControlTemplate x:Key="PlayButtonTemplate" TargetType="ToggleButton"> <Grid> <Rectangle x:Name="Rect" Fill="{StaticResource PlayImgBrush}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="ToggleButton.IsChecked" Value="True"> <Setter Property="Fill" Value="{StaticResource PauseImgBrush}" TargetName="Rect"> </Setter> </Trigger> <Trigger Property="ToggleButton.IsChecked" Value="False"> <Setter Property="Fill" Value="{StaticResource PlayImgBrush}" TargetName="Rect"> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </UserControl.Resources> <UserControl.CommandBindings> <CommandBinding Command="MediaCommands.TogglePlayPause" CanExecute="CommandBinding_CanExecute" Executed="PlayPause"/> <CommandBinding Command="MediaCommands.Stop" CanExecute="CommandBinding_CanExecute" Executed="Stop"/> <CommandBinding Command="MediaCommands.Rewind" CanExecute="CommandBinding_CanExecute" Executed="Stop"/> </UserControl.CommandBindings> <DockPanel> <Grid DockPanel.Dock="Bottom"> <Border Width="180" Height="24" Background="LightGray" BorderBrush="DarkGray" BorderThickness="1" CornerRadius="12" SnapsToDevicePixels="False"></Border> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <Button Width="32" Height="32" Command="MediaCommands.Rewind" Template="{StaticResource ButtonTemplate}" Background="{StaticResource StartImgBrush}">Rewind</Button> <ToggleButton x:Name="_playBtn" Width="48" Height="48" Margin="10,0,10,0" Command="MediaCommands.TogglePlayPause" Template="{StaticResource PlayButtonTemplate}"/> <Button Width="32" Height="32" Command="MediaCommands.Stop" Template="{StaticResource ButtonTemplate}" Background="{StaticResource StopImgBrush}">Stop</Button> </StackPanel> </Grid> <MediaElement x:Name="myMedia" LoadedBehavior="Manual" UnloadedBehavior="Pause" Source="E:/Bear.wmv"/> </DockPanel> </UserControl>
C#Code
private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; } private void PlayPause(object sender, ExecutedRoutedEventArgs e) { if(_isPlaying) { myMedia.Pause(); _isPlaying = false; } else { myMedia.Play(); _isPlaying = true; } } private void Stop(object sender, ExecutedRoutedEventArgs e) { myMedia.Stop(); _playBtn.IsChecked = false; _isPlaying = false; }
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!