123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- <UserControl
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:VideoPlayer"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- d:DesignHeight="300"
- d:DesignWidth="300"
- ClipToBounds="True"
- mc:Ignorable="d"
- x:Class="VideoPlayer.VideoPlayer">
- <UserControl.Resources>
- <Style x:Key="SliderRepeatButton" TargetType="RepeatButton">
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="IsTabStop" Value="false" />
- <Setter Property="Focusable" Value="false" />
- <Setter Property="Delay" Value="1" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="RepeatButton">
- <Border Background="Transparent" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="SliderRepeatButton1" TargetType="RepeatButton">
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Delay" Value="1" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="RepeatButton">
- <Border
- Height="10"
- Margin="2,0,2,0"
- Background="White"
- BorderThickness="0"
- CornerRadius="4"
- SnapsToDevicePixels="False" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="SliderRepeatButton2" TargetType="RepeatButton">
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="RepeatButton">
- <Grid>
- <Border
- Background="White"
- BorderThickness="0"
- CornerRadius="5"
- SnapsToDevicePixels="False" />
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="SliderThumb" TargetType="Thumb">
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="Thumb">
- <Canvas>
- <Rectangle
- Canvas.Left="-25"
- Canvas.Top="-14"
- Width="50"
- Height="50"
- Fill="Transparent" />
- </Canvas>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="SliderVerticalThumb" TargetType="Thumb">
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="Thumb">
- <Rectangle
- Width="40"
- Height="13"
- Margin="-3,-5,-3,-5"
- Fill="White" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <ControlTemplate x:Key="Slider" TargetType="Slider">
- <Grid Background="Transparent">
- <Border
- x:Name="TrackBackground"
- Height="10"
- Margin="2,0,2,0"
- VerticalAlignment="Center"
- Background="White"
- BorderThickness="0"
- CornerRadius="4"
- Opacity="0.5" />
- <Track x:Name="PART_Track">
- <Track.DecreaseRepeatButton>
- <RepeatButton Command="Slider.DecreaseLarge" Style="{StaticResource SliderRepeatButton1}" />
- </Track.DecreaseRepeatButton>
- <Track.Thumb>
- <Thumb HorizontalAlignment="Center" Style="{StaticResource SliderThumb}" />
- </Track.Thumb>
- <Track.IncreaseRepeatButton>
- <RepeatButton Command="Slider.IncreaseLarge" Style="{StaticResource SliderRepeatButton}" />
- </Track.IncreaseRepeatButton>
- </Track>
- </Grid>
- </ControlTemplate>
- <ControlTemplate x:Key="Slider2" TargetType="Slider">
- <Grid Margin="0,5,0,5">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="1*" />
- <ColumnDefinition Width="1*" />
- <ColumnDefinition Width="1*" />
- </Grid.ColumnDefinitions>
- <Border
- x:Name="TrackBackground"
- Grid.Column="1"
- Background="White"
- BorderThickness="0"
- CornerRadius="5"
- Opacity="0.5" />
- <Track x:Name="PART_Track" Grid.Column="1">
- <Track.DecreaseRepeatButton>
- <RepeatButton Command="Slider.DecreaseLarge" Style="{StaticResource SliderRepeatButton2}" />
- </Track.DecreaseRepeatButton>
- <Track.Thumb>
- <Thumb Style="{StaticResource SliderVerticalThumb}" />
- </Track.Thumb>
- <Track.IncreaseRepeatButton>
- <RepeatButton Command="Slider.IncreaseLarge" Style="{StaticResource SliderRepeatButton}" />
- </Track.IncreaseRepeatButton>
- </Track>
- </Grid>
- </ControlTemplate>
- <Style x:Key="Horizontal_Slider" TargetType="Slider">
- <Setter Property="Focusable" Value="False" />
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Style.Triggers>
- <Trigger Property="Orientation" Value="Horizontal">
- <Setter Property="MinHeight" Value="50" />
- <Setter Property="MinWidth" Value="104" />
- <Setter Property="Template" Value="{StaticResource Slider}" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <Style x:Key="Vertical_Slider" TargetType="Slider">
- <Setter Property="Focusable" Value="False" />
- <Setter Property="SnapsToDevicePixels" Value="False" />
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Style.Triggers>
- <Trigger Property="Orientation" Value="Vertical">
- <Setter Property="Template" Value="{StaticResource Slider2}" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <Storyboard x:Key="sbShowVolSlider" Storyboard.TargetName="uxVolumeGrid">
- <ThicknessAnimation
- Storyboard.TargetProperty="Margin"
- To="0,0,0,0"
- Duration="0:0:0.2" />
- </Storyboard>
- <Storyboard x:Key="sbHideVolSlider" Storyboard.TargetName="uxVolumeGrid">
- <ThicknessAnimation
- Storyboard.TargetProperty="Margin"
- To="0,165,0,0"
- Duration="0:0:0.2" />
- </Storyboard>
- </UserControl.Resources>
- <Grid
- Background="Black"
- IsManipulationEnabled="True"
- PreviewTouchUp="Grid_PreviewTouchUp"
- TouchDown="ResetTimer"
- TouchMove="ResetTimer"
- TouchUp="Global_TouchUp">
- <Canvas
- x:Name="uxVideoPanel"
- Grid.Column="0"
- TouchDown="uxVideoPanel_TouchDown" />
- <Grid
- x:Name="uxControlPanel"
- Height="30"
- Margin="0,0,0,50"
- VerticalAlignment="Bottom"
- Visibility="Collapsed">
- <Grid.RenderTransform>
- <ScaleTransform CenterY="30" ScaleY="1" />
- </Grid.RenderTransform>
- <Grid.Background>
- <SolidColorBrush Opacity="0.7" Color="Black" />
- </Grid.Background>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="15" />
- <ColumnDefinition Width="30" />
- <ColumnDefinition Width="15" />
- <ColumnDefinition Width="30" />
- <ColumnDefinition Width="15" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="15" />
- <ColumnDefinition Width="30" />
- <ColumnDefinition Width="15" />
- </Grid.ColumnDefinitions>
- <Image
- Grid.Column="1"
- RenderOptions.BitmapScalingMode="HighQuality"
- Source="/VideoPlayer;component/VideoPlayerImage/pause.png"
- Stretch="Fill"
- TouchDown="pause_TouchDown" />
- <Image
- Grid.Column="3"
- RenderOptions.BitmapScalingMode="HighQuality"
- Source="/VideoPlayer;component/VideoPlayerImage/stop.png"
- Stretch="Fill"
- TouchDown="stop_TouchDown" />
- <Grid
- Grid.Column="5"
- TouchDown="uxProgressSlider_TouchDown"
- TouchMove="uxProgressSlider_TouchMove"
- TouchUp="uxProgressSlider_TouchUp">
- <Slider
- x:Name="uxProgressSlider"
- VerticalAlignment="Center"
- Style="{StaticResource Horizontal_Slider}"
- TouchDown="uxProgressSlider_TouchDown"
- TouchMove="uxProgressSlider_TouchMove"
- ValueChanged="uxProgressSlider_ValueChanged"
- Value="5" />
- </Grid>
- <Grid
- x:Name="uxVolumeBase"
- Grid.Column="7"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- SnapsToDevicePixels="False">
- <Image
- x:Name="uxSound"
- Grid.Column="3"
- RenderOptions.BitmapScalingMode="HighQuality"
- Source="/VideoPlayer;component/VideoPlayerImage/sound.png"
- Stretch="Fill"
- TouchDown="uxSound_TouchDown" />
- <Image
- x:Name="uxNoSound"
- Grid.Column="3"
- RenderOptions.BitmapScalingMode="HighQuality"
- Source="/VideoPlayer;component/VideoPlayerImage/no-sound.png"
- Stretch="Fill"
- TouchDown="uxSound_TouchDown"
- Visibility="Collapsed" />
- <Canvas Margin="0,-150,0,0">
- <Grid
- x:Name="uxVolumeGrid"
- Width="{Binding ElementName=uxVolumeBase, Path=ActualWidth}"
- Height="150"
- HorizontalAlignment="Center"
- VerticalAlignment="Top"
- TouchDown="uxVolumeGrid_TouchDown"
- TouchMove="uxVolumeGrid_TouchMove"
- Visibility="Collapsed">
- <Slider
- x:Name="uxVolumeSlider"
- Orientation="Vertical"
- Style="{StaticResource Vertical_Slider}"
- TouchDown="uxVolumeSlider_TouchDown"
- TouchMove="uxVolumeSlider_TouchMove"
- ValueChanged="uxVolumeSlider_ValueChanged"
- Value="5" />
- <Grid.Background>
- <SolidColorBrush Opacity="0.7" Color="Black" />
- </Grid.Background>
- </Grid>
- <Canvas.Clip>
- <RectangleGeometry Rect="0,0,50,150" />
- </Canvas.Clip>
- </Canvas>
- </Grid>
- </Grid>
- <Grid
- x:Name="uxCoverImageParent"
- Grid.Row="0"
- Visibility="Visible">
- <Image
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Source="/VideoPlayer;component/VideoPlayerImage/play.png"
- Stretch="UniformToFill" />
- </Grid>
- <Grid
- x:Name="uxPlayButtonParent"
- Grid.Row="0"
- IsManipulationEnabled="True"
- Visibility="Visible">
- <Grid.Background>
- <SolidColorBrush Opacity="0.3" Color="Black" />
- </Grid.Background>
- <Image
- x:Name="uxPlayButton"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- RenderOptions.BitmapScalingMode="HighQuality"
- Source="/VideoPlayer;component/VideoPlayerImage/play.png"
- Stretch="None"
- TouchUp="uxPlayButton_TouchUp">
- <Image.RenderTransform>
- <ScaleTransform CenterX="49" CenterY="49" />
- </Image.RenderTransform>
- </Image>
- </Grid>
- </Grid>
- </UserControl>
|