<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="speedometer.Window1"
x:Name="Window"
Title="Window1"
Width="640" Height="480" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
<Window.Resources>
<LinearGradientBrush x:Key="ProgressBarBackground" EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#BABABA" Offset="0"/>
<GradientStop Color="#C7C7C7" Offset="0.5"/>
<GradientStop Color="#BABABA" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarBorderBrush" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#B2B2B2" Offset="0"/>
<GradientStop Color="#8C8C8C" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarGlassyHighlight" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#50FFFFFF" Offset="0.5385"/>
<GradientStop Color="#00FFFFFF" Offset="0.5385"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarTopHighlight" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#80FFFFFF" Offset="0.05"/>
<GradientStop Color="#00FFFFFF" Offset="0.25"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill" EndPoint="0,0" StartPoint="-100,0" MappingMode="Absolute">
<GradientStop Color="#00000000" Offset="0"/>
<GradientStop Color="#FF000000" Offset="0.4"/>
<GradientStop Color="#FF000000" Offset="0.6"/>
<GradientStop Color="#00000000" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarIndicatorDarkEdgeLeft" EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#0C000000" Offset="0"/>
<GradientStop Color="#20000000" Offset="0.3"/>
<GradientStop Color="#00000000" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ProgressBarIndicatorDarkEdgeRight" EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#00000000" Offset="0"/>
<GradientStop Color="#20000000" Offset="0.7"/>
<GradientStop Color="#0C000000" Offset="1"/>
</LinearGradientBrush>
<RadialGradientBrush x:Key="ProgressBarIndicatorLightingEffectLeft" RelativeTransform="1,0,0,1,0.5,0.5" RadiusX="1" RadiusY="1">
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</RadialGradientBrush>
<LinearGradientBrush x:Key="ProgressBarIndicatorLightingEffect" EndPoint="0,0" StartPoint="0,1">
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</LinearGradientBrush>
<RadialGradientBrush x:Key="ProgressBarIndicatorLightingEffectRight" RelativeTransform="1,0,0,1,-0.5,0.5" RadiusX="1" RadiusY="1">
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</RadialGradientBrush>
<LinearGradientBrush x:Key="ProgressBarIndicatorGlassyHighlight" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#90FFFFFF" Offset="0.5385"/>
<GradientStop Color="#00FFFFFF" Offset="0.5385"/>
</LinearGradientBrush>
<Style x:Key="ProgressBarStyle1" TargetType="{x:Type ProgressBar}">
<Setter Property="Foreground" Value="#01D328"/>
<Setter Property="Background" Value="{StaticResource ProgressBarBackground}"/>
<Setter Property="BorderBrush" Value="{StaticResource ProgressBarBorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ProgressBar}">
<Grid SnapsToDevicePixels="true" x:Name="Background">
<Rectangle Fill="{TemplateBinding Background}" RadiusX="2" RadiusY="2" Visibility="Hidden"/>
<Border Margin="1" Background="{StaticResource ProgressBarGlassyHighlight}" CornerRadius="2" Visibility="Hidden"/>
<Border Margin="1" Background="{StaticResource ProgressBarTopHighlight}" BorderBrush="#80FFFFFF" BorderThickness="1,0,1,1" Visibility="Hidden"/>
<Rectangle Margin="1" x:Name="PART_Track" Visibility="Hidden" Width="360"/>
<Decorator HorizontalAlignment="Left" Margin="1" x:Name="PART_Indicator" Visibility="Hidden">
<Grid x:Name="Foreground">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="15"/>
<ColumnDefinition Width="0.1*"/>
<ColumnDefinition MaxWidth="15"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Rectangle x:Name="Indicator" Fill="{TemplateBinding Foreground}" Grid.ColumnSpan="3" Grid.RowSpan="2"/>
<Rectangle x:Name="Animation" Fill="{TemplateBinding Foreground}" Grid.ColumnSpan="3" Grid.RowSpan="2">
<Rectangle.OpacityMask>
<MultiBinding>
<MultiBinding.Converter>
<Microsoft_Windows_Themes:ProgressBarHighlightConverter/>
</MultiBinding.Converter>
<Binding Source="{StaticResource ProgressBarIndicatorAnimatedFill}"/>
<Binding Path="ActualWidth" ElementName="Background"/>
<Binding Path="ActualHeight" ElementName="Background"/>
</MultiBinding>
</Rectangle.OpacityMask>
</Rectangle>
<Rectangle Margin="1,1,0,1" x:Name="LeftDark" Fill="{StaticResource ProgressBarIndicatorDarkEdgeLeft}" RadiusX="1" RadiusY="1" Grid.RowSpan="2"/>
<Rectangle Margin="0,1,1,1" x:Name="RightDark" Fill="{StaticResource ProgressBarIndicatorDarkEdgeRight}" RadiusX="1" RadiusY="1" Grid.Column="2" Grid.RowSpan="2"/>
<Rectangle x:Name="LeftLight" Fill="{StaticResource ProgressBarIndicatorLightingEffectLeft}" Grid.Column="0" Grid.Row="2"/>
<Rectangle x:Name="CenterLight" Fill="{StaticResource ProgressBarIndicatorLightingEffect}" Grid.Column="1" Grid.Row="2"/>
<Rectangle x:Name="RightLight" Fill="{StaticResource ProgressBarIndicatorLightingEffectRight}" Grid.Column="2" Grid.Row="2"/>
<Border x:Name="Highlight1" Grid.ColumnSpan="3" Grid.RowSpan="2" Background="{StaticResource ProgressBarIndicatorGlassyHighlight}"/>
<Border x:Name="Highlight2" Grid.ColumnSpan="3" Grid.RowSpan="2" Background="{StaticResource ProgressBarTopHighlight}"/>
</Grid>
</Decorator>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" Visibility="Hidden"/>
<Grid Margin="0,0,59.5,-126.5" VerticalAlignment="Bottom" Height="68" RenderTransformOrigin="0.452,1.007" HorizontalAlignment="Right" Width="21">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1"/>
<SkewTransform AngleX="0" AngleY="0"/>
<RotateTransform Angle="{Binding Path=Width, ElementName=PART_Indicator, Mode=Default}"/>
<TranslateTransform X="0" Y="0"/>
</TransformGroup>
</Grid.RenderTransform>
<Path Margin="0,-1,0,0" VerticalAlignment="Stretch" Height="Auto" Fill="#FF1EA7C3" Stretch="Fill" Stroke="#FF1FCBEE" Data="M93.6875,101 L95.75,58.758621 97.8125,101 z" RenderTransformOrigin="0.468,0.997"/>
</Grid>
<Ellipse Margin="30,0,-37,-229" VerticalAlignment="Bottom" Height="209" Fill="{x:Null}" StrokeThickness="33">
<Ellipse.Stroke>
<RadialGradientBrush>
<GradientStop Color="#FF70D4EA" Offset="0.88"/>
<GradientStop Color="#FF0486A1" Offset="1"/>
</RadialGradientBrush>
</Ellipse.Stroke>
</Ellipse>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Orientation" Value="Vertical">
<Setter Property="LayoutTransform" TargetName="Background">
<Setter.Value>
<RotateTransform Angle="-90"/>
</Setter.Value>
</Setter>
<Setter Property="LayoutTransform" TargetName="PART_Track">
<Setter.Value>
<RotateTransform Angle="90"/>
</Setter.Value>
</Setter>
<Setter Property="LayoutTransform" TargetName="PART_Indicator">
<Setter.Value>
<RotateTransform Angle="90"/>
</Setter.Value>
</Setter>
<Setter Property="LayoutTransform" TargetName="Foreground">
<Setter.Value>
<RotateTransform Angle="-90"/>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsIndeterminate" Value="true">
<Setter Property="Visibility" TargetName="LeftDark" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="RightDark" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="LeftLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="CenterLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="RightLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="Indicator" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsIndeterminate" Value="false">
<Setter Property="Fill" TargetName="Animation" Value="#80B5FFA9"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<ProgressBar Margin="136,41,286,0" VerticalAlignment="Top" Height="24" Style="{DynamicResource ProgressBarStyle1}" RenderTransformOrigin="0.5,0.5" x:Name="ProgressBar" Maximum="360" Value="{Binding Path=Value, ElementName=Slider, Mode=Default}">
<ProgressBar.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1"/>
<SkewTransform AngleX="0" AngleY="0"/>
<RotateTransform/>
<TranslateTransform X="0" Y="0"/>
</TransformGroup>
</ProgressBar.RenderTransform>
</ProgressBar>
<ProgressBar Margin="172,0,222,56" VerticalAlignment="Bottom" Height="23" x:Name="ProgressBar1" Value="{Binding Path=Value, ElementName=Slider, Mode=Default}" Width="Auto" Maximum="360"/>
<Slider Margin="168,0,226,111" VerticalAlignment="Bottom" Height="24" Maximum="360" x:Name="Slider"/>
<TextBlock Margin="310,109,267,0" VerticalAlignment="Top" Height="29" TextWrapping="Wrap"><Run FontSize="16" Foreground="#FFFDF9F9" Text="10"/></TextBlock>
<TextBlock Margin="0,142,235,0" VerticalAlignment="Top" Height="29" TextWrapping="Wrap" HorizontalAlignment="Right" Width="47"><Run FontSize="16" Foreground="#FFFDF9F9" Text="20"/></TextBlock>
<TextBlock Margin="0,186,226,0" VerticalAlignment="Top" Height="29" TextWrapping="Wrap" HorizontalAlignment="Right" Width="47"><Run FontSize="16" Foreground="#FFFDF9F9" Text="30"/></TextBlock>
<TextBlock Margin="0,0,243,190" TextWrapping="Wrap" HorizontalAlignment="Right" Width="47" VerticalAlignment="Bottom" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="40"/></TextBlock>
<TextBlock Margin="306,0,271,163" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" VerticalAlignment="Bottom" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="50"/></TextBlock>
<TextBlock Margin="262,0,0,152" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" VerticalAlignment="Bottom" Height="29" HorizontalAlignment="Left" Width="47"><Run FontSize="16" Foreground="#FFFDF9F9" Text="60"/></TextBlock>
<TextBlock Margin="220,0,0,163" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" VerticalAlignment="Bottom" Height="29" HorizontalAlignment="Left" Width="47"><Run FontSize="16" Foreground="#FFFDF9F9" Text="70"/></TextBlock>
<TextBlock Margin="191,0,0,192" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" VerticalAlignment="Bottom" Height="29" HorizontalAlignment="Left" Width="47"><Run FontSize="16" Foreground="#FFFDF9F9" Text="80"/></TextBlock>
<TextBlock Margin="175,186,0,0" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" HorizontalAlignment="Left" Width="47" VerticalAlignment="Top" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="90"/></TextBlock>
<TextBlock Margin="182,138,0,0" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" HorizontalAlignment="Left" Width="47" VerticalAlignment="Top" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="100"/></TextBlock>
<TextBlock Margin="212,107,0,0" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" HorizontalAlignment="Left" Width="47" VerticalAlignment="Top" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="110"/></TextBlock>
<TextBlock Margin="260,91,0,0" TextWrapping="Wrap" RenderTransformOrigin="-0.085,1.586" HorizontalAlignment="Left" Width="47" VerticalAlignment="Top" Height="29"><Run FontSize="16" Foreground="#FFFDF9F9" Text="0"/></TextBlock>
</Grid>
</Window>