123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 |
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
- <Style
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:s="clr-namespace:System;assembly=mscorlib"
- x:Key="RoundThumbSlider"
- TargetType="{x:Type Slider}">
- <Style.Triggers>
- <Trigger Property="Slider.Orientation" Value="Vertical">
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Slider}">
- <Border
- Name="border"
- Background="{TemplateBinding Panel.Background}"
- BorderBrush="{TemplateBinding Border.BorderBrush}"
- BorderThickness="{TemplateBinding Border.BorderThickness}"
- SnapsToDevicePixels="True">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" MinWidth="{TemplateBinding FrameworkElement.MinWidth}" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <TickBar
- Name="TopTick"
- Grid.Column="0"
- Width="4"
- Margin="0,0,2,0"
- Fill="{TemplateBinding TextElement.Foreground}"
- Placement="Left"
- Visibility="Collapsed" />
- <TickBar
- Name="BottomTick"
- Grid.Column="2"
- Width="4"
- Margin="2,0,0,0"
- Fill="{TemplateBinding TextElement.Foreground}"
- Placement="Right"
- Visibility="Collapsed" />
- <Border
- Name="TrackBackground"
- Grid.Column="1"
- Width="4"
- Margin="0,5"
- HorizontalAlignment="Center"
- Background="#E7EAEA"
- BorderBrush="#D6D6D6"
- BorderThickness="1">
- <Canvas Margin="-1,-6">
- <Rectangle
- Name="PART_SelectionRange"
- Width="4"
- Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"
- Visibility="Hidden" />
- </Canvas>
- </Border>
- <Track Name="PART_Track" Grid.Column="1">
- <Track.DecreaseRepeatButton>
- <RepeatButton>
- <RepeatButton.Command>
- <RoutedCommand />
- </RepeatButton.Command>
- <RepeatButton.Style>
- <Style TargetType="{x:Type RepeatButton}">
- <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
- <Setter Property="Panel.Background" Value="#00FFFFFF" />
- <Setter Property="UIElement.Focusable" Value="False" />
- <Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding FrameworkElement.Width}"
- Height="2"
- Fill="{TemplateBinding Panel.Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </RepeatButton.Style>
- </RepeatButton>
- </Track.DecreaseRepeatButton>
- <Track.Thumb>
- <Thumb
- Name="Thumb"
- Width="18"
- Height="11"
- VerticalAlignment="Top"
- Focusable="False"
- OverridesDefaultStyle="True">
- <Thumb.Template>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Fill="#477EDE"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="#477EDE"
- StrokeThickness="1"
- UseLayoutRounding="True">
- <Path.Data>
- <RectangleGeometry
- RadiusX="4"
- RadiusY="4"
- Rect="0,0,8,16" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Thumb.Template>
- </Thumb>
- </Track.Thumb>
- <Track.IncreaseRepeatButton>
- <RepeatButton>
- <RepeatButton.Command>
- <RoutedCommand />
- </RepeatButton.Command>
- <RepeatButton.Style>
- <Style TargetType="{x:Type RepeatButton}">
- <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
- <Setter Property="Panel.Background" Value="#00FFFFFF" />
- <Setter Property="UIElement.Focusable" Value="False" />
- <Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding FrameworkElement.Width}"
- Height="2"
- Fill="{TemplateBinding Panel.Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </RepeatButton.Style>
- </RepeatButton>
- </Track.IncreaseRepeatButton>
- </Track>
- </Grid>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="Slider.TickPlacement" Value="TopLeft">
- <Setter TargetName="TopTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="Thumb" Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Fill="#477EDE"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="#477EDE"
- StrokeThickness="1"
- UseLayoutRounding="True">
- <Path.Data>
- <RectangleGeometry
- RadiusX="4"
- RadiusY="4"
- Rect="0,0,8,16" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter TargetName="TrackBackground" Property="FrameworkElement.Margin" Value="2,5,0,5" />
- </Trigger>
- <Trigger Property="Slider.TickPlacement" Value="BottomRight">
- <Setter TargetName="BottomTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="Thumb" Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Fill="#477EDE"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="#477EDE"
- StrokeThickness="1"
- UseLayoutRounding="True">
- <Path.Data>
- <RectangleGeometry
- RadiusX="4"
- RadiusY="4"
- Rect="0,0,8,16" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter TargetName="TrackBackground" Property="FrameworkElement.Margin" Value="0,5,2,5" />
- </Trigger>
- <Trigger Property="Slider.TickPlacement" Value="Both">
- <Setter TargetName="TopTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="BottomTick" Property="UIElement.Visibility" Value="Visible" />
- </Trigger>
- <Trigger Property="Slider.IsSelectionRangeEnabled" Value="True">
- <Setter TargetName="PART_SelectionRange" Property="UIElement.Visibility" Value="Visible" />
- </Trigger>
- <Trigger Property="UIElement.IsKeyboardFocused" Value="True">
- <Setter TargetName="Thumb" Property="TextElement.Foreground" Value="#0000FF" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Trigger>
- </Style.Triggers>
- <Setter Property="Stylus.IsPressAndHoldEnabled" Value="False" />
- <Setter Property="Panel.Background" Value="#00FFFFFF" />
- <Setter Property="Border.BorderBrush" Value="#00FFFFFF" />
- <Setter Property="TextElement.Foreground" Value="#E5E5E5" />
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Slider}">
- <Border
- Name="border"
- Background="{TemplateBinding Panel.Background}"
- BorderBrush="{TemplateBinding Border.BorderBrush}"
- BorderThickness="{TemplateBinding Border.BorderThickness}"
- SnapsToDevicePixels="True">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" MinHeight="{TemplateBinding FrameworkElement.MinHeight}" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TickBar
- Name="TopTick"
- Grid.Row="0"
- Height="4"
- Margin="0,2,0,0"
- Fill="{TemplateBinding TextElement.Foreground}"
- Placement="Top"
- Visibility="Collapsed" />
- <TickBar
- Name="BottomTick"
- Grid.Row="2"
- Height="4"
- Margin="0,0,0,2"
- Fill="{TemplateBinding TextElement.Foreground}"
- Placement="Bottom"
- Visibility="Collapsed" />
- <Border
- Name="TrackBackground"
- Grid.Row="1"
- Height="4"
- Margin="5,0"
- VerticalAlignment="Center"
- Background="#FFE2E3E6"
- BorderBrush="#D6D6D6"
- BorderThickness="0">
- <Canvas Margin="-6,-1">
- <Rectangle
- Name="PART_SelectionRange"
- Height="4"
- Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"
- Visibility="Hidden" />
- </Canvas>
- </Border>
- <Track Name="PART_Track" Grid.Row="1">
- <Track.DecreaseRepeatButton>
- <RepeatButton>
- <RepeatButton.Command>
- <RoutedCommand />
- </RepeatButton.Command>
- <RepeatButton.Style>
- <Style TargetType="{x:Type RepeatButton}">
- <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
- <Setter Property="Panel.Background" Value="#00FFFFFF" />
- <Setter Property="UIElement.Focusable" Value="False" />
- <Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding FrameworkElement.Width}"
- Height="{TemplateBinding FrameworkElement.Height}"
- Fill="{TemplateBinding Panel.Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </RepeatButton.Style>
- </RepeatButton>
- </Track.DecreaseRepeatButton>
- <Track.Thumb>
- <Thumb
- Name="Thumb"
- Width="14"
- Height="14"
- VerticalAlignment="Center"
- Focusable="False"
- OverridesDefaultStyle="True">
- <Thumb.Template>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Effect="{StaticResource shadow.neutral.s}"
- Fill="{StaticResource color.slider.track-filled.norm}"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="{StaticResource color.slider.knob.border}"
- StrokeThickness="2"
- UseLayoutRounding="True">
- <Path.Data>
- <EllipseGeometry
- Center="14,14"
- RadiusX="7"
- RadiusY="7" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <!--<Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>-->
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Thumb.Template>
- </Thumb>
- </Track.Thumb>
- <Track.IncreaseRepeatButton>
- <RepeatButton>
- <RepeatButton.Command>
- <RoutedCommand />
- </RepeatButton.Command>
- <RepeatButton.Style>
- <Style TargetType="{x:Type RepeatButton}">
- <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" />
- <Setter Property="Panel.Background" Value="#00FFFFFF" />
- <Setter Property="UIElement.Focusable" Value="False" />
- <Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding FrameworkElement.Width}"
- Height="{TemplateBinding FrameworkElement.Height}"
- Fill="{TemplateBinding Panel.Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </RepeatButton.Style>
- </RepeatButton>
- </Track.IncreaseRepeatButton>
- </Track>
- </Grid>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="Slider.TickPlacement" Value="TopLeft">
- <Setter TargetName="TopTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="Thumb" Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Fill="#477EDE"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="#477EDE"
- StrokeThickness="1"
- UseLayoutRounding="True">
- <Path.Data>
- <RectangleGeometry
- RadiusX="4"
- RadiusY="4"
- Rect="0,0,8,16" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter TargetName="TrackBackground" Property="FrameworkElement.Margin" Value="5,2,5,0" />
- </Trigger>
- <Trigger Property="Slider.TickPlacement" Value="BottomRight">
- <Setter TargetName="BottomTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="Thumb" Property="Control.Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <Grid
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- UseLayoutRounding="True">
- <Path
- Name="grip"
- VerticalAlignment="Center"
- Fill="#477EDE"
- SnapsToDevicePixels="True"
- Stretch="Fill"
- Stroke="#477EDE"
- StrokeThickness="1"
- UseLayoutRounding="True">
- <Path.Data>
- <RectangleGeometry
- RadiusX="4"
- RadiusY="4"
- Rect="0,0,8,16" />
- </Path.Data>
- </Path>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="UIElement.IsMouseOver" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="Thumb.IsDragging" Value="True">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- <Trigger Property="UIElement.IsEnabled" Value="False">
- <Setter TargetName="grip" Property="Shape.Fill" Value="#477EDE" />
- <Setter TargetName="grip" Property="Shape.Stroke" Value="#477EDE" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter TargetName="TrackBackground" Property="FrameworkElement.Margin" Value="5,0,5,2" />
- </Trigger>
- <Trigger Property="Slider.TickPlacement" Value="Both">
- <Setter TargetName="TopTick" Property="UIElement.Visibility" Value="Visible" />
- <Setter TargetName="BottomTick" Property="UIElement.Visibility" Value="Visible" />
- </Trigger>
- <Trigger Property="Slider.IsSelectionRangeEnabled" Value="True">
- <Setter TargetName="PART_SelectionRange" Property="UIElement.Visibility" Value="Visible" />
- </Trigger>
- <Trigger Property="UIElement.IsKeyboardFocused" Value="True">
- <Setter TargetName="Thumb" Property="TextElement.Foreground" Value="#0000FF" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Setter Property="SelectionStart" Value="{Binding Minimum, RelativeSource={RelativeSource Self}}" />
- <Setter Property="SelectionEnd" Value="{Binding Value, RelativeSource={RelativeSource Self}}" />
- </Style>
- </ResourceDictionary>
|