/Application/GUI/Controls/EnhancedSlider.xaml
http://yet-another-music-application.googlecode.com/ · XAML · 113 lines · 102 code · 9 blank · 2 comment · 0 complexity · cb0ce5dbef10177d18cb1da10c93f9da MD5 · raw file
- <Slider x:Class="Stoffi.EnhancedSlider"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:Stoffi"
- mc:Ignorable="d"
- d:DesignWidth="800"
- d:DesignHeight="30"
- Value="1">
- <Slider.Resources>
- <LinearGradientBrush x:Key="AeroSeekBackground" EndPoint="0,1" StartPoint="0,0">
- <GradientStop Color="#55888888" Offset="0.1"/>
- <GradientStop Color="#55FFFFFF" Offset="0.9"/>
- </LinearGradientBrush>
- <LinearGradientBrush x:Key="AeroSeekBorder" EndPoint="0,1" StartPoint="0,0">
- <GradientStop Color="#FFAEB1AF" Offset="0.1"/>
- <GradientStop Color="White" Offset="0.9"/>
- </LinearGradientBrush>
- <LinearGradientBrush x:Key="AeroSeekSecondValueFill" EndPoint="0,1" StartPoint="0,0">
- <GradientStop Color="#88555555" Offset="0.1"/>
- <GradientStop Color="#88CCCCCC" Offset="0.9"/>
- </LinearGradientBrush>
- <Style x:Key="AeroSeekValueFill" TargetType="{x:Type RepeatButton}">
- <Setter Property="OverridesDefaultStyle" Value="true"/>
- <Setter Property="IsTabStop" Value="false"/>
- <Setter Property="Focusable" Value="false"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Border BorderThickness="1" CornerRadius="3,0,0,3">
- <Border.Background>
- <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
- <GradientStop Color="#FF333333" Offset="0.1"/>
- <GradientStop Color="#FFCCCCCC" Offset="0.9"/>
- </LinearGradientBrush>
- </Border.Background>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="AeroSeekRightFill" TargetType="{x:Type RepeatButton}">
- <Setter Property="OverridesDefaultStyle" Value="true"/>
- <Setter Property="IsTabStop" Value="false"/>
- <Setter Property="Focusable" Value="false"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle Fill="Transparent"/>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
-
- <!-- Aero styles -->
- <Style x:Key="AeroSeekStyle" TargetType="{x:Type Slider}">
-
- </Style>
-
- <Style x:Key="AeroVolumeStyle" TargetType="{x:Type Slider}">
- </Style>
-
- <!-- Classic styles -->
-
- <Style x:Key="ClassicSeekStyle" TargetType="{x:Type Slider}">
-
- </Style>
-
- <Style x:Key="ClassicVolumeStyle" TargetType="{x:Type Slider}">
-
- </Style>
-
- </Slider.Resources>
- <Slider.Style>
- <Style TargetType="{x:Type Slider}">
- <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
- <Setter Property="Background" Value="Transparent"/>
- <Setter Property="Foreground" Value="#FFC4C4C4"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Slider}">
- <Border SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <Border x:Name="TrackBackground" Grid.Row="1" Background="{DynamicResource AeroSeekBackground}" BorderBrush="{DynamicResource AeroSeekBorder}" BorderThickness="1" CornerRadius="3">
- <Border x:Name="SecondValueIndicator"
- Background="{DynamicResource AeroSeekSecondValueFill}"
- Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=SecondValueWidth, Mode=TwoWay}"
- HorizontalAlignment="Left">
- </Border>
- </Border>
- <Track x:Name="PART_Track" Grid.Row="1">
- <Track.DecreaseRepeatButton>
- <RepeatButton Style="{DynamicResource AeroSeekValueFill}" Command="{x:Static Slider.DecreaseLarge}"/>
- </Track.DecreaseRepeatButton>
- <Track.IncreaseRepeatButton>
- <RepeatButton Style="{DynamicResource AeroSeekRightFill}" Command="{x:Static Slider.IncreaseLarge}"/>
- </Track.IncreaseRepeatButton>
- <Track.Thumb>
- <Thumb x:Name="Thumb" Width="0"/>
- </Track.Thumb>
- </Track>
- </Grid>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </Slider.Style>
- </Slider>