更新
This commit is contained in:
278
AntdWpf/Styles/Slider.xaml
Normal file
278
AntdWpf/Styles/Slider.xaml
Normal file
@@ -0,0 +1,278 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/AntdWpf;component/Styles/Animations.xaml" />
|
||||
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<Style x:Key="SliderButtonStyle"
|
||||
TargetType="{x:Type RepeatButton}">
|
||||
<Setter Property="SnapsToDevicePixels"
|
||||
Value="true" />
|
||||
<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 Background="Transparent" />
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="SliderThumbStyle"
|
||||
TargetType="{x:Type Thumb}">
|
||||
<Setter Property="SnapsToDevicePixels"
|
||||
Value="true" />
|
||||
<Setter Property="OverridesDefaultStyle"
|
||||
Value="true" />
|
||||
<Setter Property="Height"
|
||||
Value="18" />
|
||||
<Setter Property="Width"
|
||||
Value="18" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Thumb}">
|
||||
<Grid>
|
||||
|
||||
<Ellipse x:Name="Effect"
|
||||
Opacity="0"
|
||||
Stroke="{DynamicResource PrimaryBrush}"
|
||||
StrokeThickness="0"/>
|
||||
<Ellipse x:Name="Ellipse"
|
||||
Fill="White"
|
||||
Cursor="Hand"
|
||||
Stroke="{DynamicResource SliderBackgroundBrush}"
|
||||
StrokeThickness="3">
|
||||
|
||||
|
||||
</Ellipse>
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="CommonStates">
|
||||
<VisualState x:Name="Normal" />
|
||||
<VisualState x:Name="MouseOver">
|
||||
<Storyboard>
|
||||
<DoubleAnimation Storyboard.TargetName="Ellipse"
|
||||
Storyboard.TargetProperty="StrokeThickness"
|
||||
To="2" Duration="0:0:0.2"/>
|
||||
<ColorAnimation To="{DynamicResource PrimaryColor}"
|
||||
Duration="0"
|
||||
Storyboard.TargetName="Ellipse"
|
||||
Storyboard.TargetProperty="(Shape.Stroke).(SolidColorBrush.Color)"/>
|
||||
<DoubleAnimation
|
||||
EasingFunction="{StaticResource EaseOutCirc}"
|
||||
Storyboard.TargetName="Effect"
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
To="0.4"
|
||||
Duration="0:0:0.0" />
|
||||
<DoubleAnimation
|
||||
EasingFunction="{StaticResource EaseOutCirc}"
|
||||
Storyboard.TargetName="Effect"
|
||||
Storyboard.TargetProperty="StrokeThickness"
|
||||
To="3"
|
||||
Duration="0:0:0.2" />
|
||||
<ThicknessAnimation
|
||||
EasingFunction="{StaticResource EaseOutCirc}"
|
||||
Storyboard.TargetName="Effect"
|
||||
Storyboard.TargetProperty="Margin"
|
||||
To="-3"
|
||||
Duration="0:0:0.2" />
|
||||
</Storyboard>
|
||||
</VisualState>
|
||||
<VisualState x:Name="Pressed">
|
||||
|
||||
</VisualState>
|
||||
<VisualState x:Name="Disabled">
|
||||
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
</Grid>
|
||||
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!--Template when the orientation of the Slider is Horizontal.-->
|
||||
<ControlTemplate x:Key="HorizontalSlider"
|
||||
TargetType="{x:Type Slider}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto"
|
||||
MinHeight="{TemplateBinding MinHeight}" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TickBar x:Name="TopTick"
|
||||
SnapsToDevicePixels="True"
|
||||
Placement="Top"
|
||||
Height="4"
|
||||
Visibility="Collapsed">
|
||||
<TickBar.Fill>
|
||||
<SolidColorBrush Color="{DynamicResource TextColor}" />
|
||||
</TickBar.Fill>
|
||||
</TickBar>
|
||||
<Border x:Name="TrackBackground"
|
||||
Margin="0"
|
||||
CornerRadius="2"
|
||||
Background="{DynamicResource BorderBrushSecondary}"
|
||||
Height="8"
|
||||
Grid.Row="1"
|
||||
BorderThickness="1"/>
|
||||
|
||||
|
||||
<Track Grid.Row="1"
|
||||
x:Name="PART_Track">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Style="{StaticResource SliderButtonStyle}"
|
||||
Command="Slider.DecreaseLarge" />
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Style="{StaticResource SliderThumbStyle}" />
|
||||
</Track.Thumb>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<RepeatButton Style="{StaticResource SliderButtonStyle}"
|
||||
Command="Slider.IncreaseLarge" />
|
||||
</Track.IncreaseRepeatButton>
|
||||
</Track>
|
||||
<TickBar x:Name="BottomTick"
|
||||
SnapsToDevicePixels="True"
|
||||
Grid.Row="2"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Placement="Bottom"
|
||||
Height="4"
|
||||
Visibility="Collapsed" />
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="TopLeft">
|
||||
<Setter TargetName="TopTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="BottomRight">
|
||||
<Setter TargetName="BottomTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="Both">
|
||||
<Setter TargetName="TopTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
<Setter TargetName="BottomTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
|
||||
<!--Template when the orientation of the Slider is Vertical.-->
|
||||
<ControlTemplate x:Key="VerticalSlider"
|
||||
TargetType="{x:Type Slider}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto"
|
||||
MinWidth="{TemplateBinding MinWidth}" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TickBar x:Name="TopTick"
|
||||
SnapsToDevicePixels="True"
|
||||
Placement="Left"
|
||||
Width="4"
|
||||
Visibility="Collapsed">
|
||||
<TickBar.Fill>
|
||||
<SolidColorBrush Color="{DynamicResource TextColor}" />
|
||||
</TickBar.Fill>
|
||||
</TickBar>
|
||||
|
||||
<Border x:Name="TrackBackground"
|
||||
Margin="0"
|
||||
CornerRadius="2"
|
||||
Width="4"
|
||||
Grid.Column="1"
|
||||
Background="{DynamicResource BorderBrushSecondary}"
|
||||
BorderThickness="1"/>
|
||||
|
||||
|
||||
<Track Grid.Column="1"
|
||||
x:Name="PART_Track">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Style="{StaticResource SliderButtonStyle}"
|
||||
Command="Slider.DecreaseLarge" />
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Style="{StaticResource SliderThumbStyle}" />
|
||||
</Track.Thumb>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<RepeatButton Style="{StaticResource SliderButtonStyle}"
|
||||
Command="Slider.IncreaseLarge" />
|
||||
</Track.IncreaseRepeatButton>
|
||||
</Track>
|
||||
<TickBar x:Name="BottomTick"
|
||||
SnapsToDevicePixels="True"
|
||||
Grid.Column="2"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Placement="Right"
|
||||
Width="4"
|
||||
Visibility="Collapsed" />
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="TopLeft">
|
||||
<Setter TargetName="TopTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="BottomRight">
|
||||
<Setter TargetName="BottomTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
<Trigger Property="TickPlacement"
|
||||
Value="Both">
|
||||
<Setter TargetName="TopTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
<Setter TargetName="BottomTick"
|
||||
Property="Visibility"
|
||||
Value="Visible" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
|
||||
<Style TargetType="{x:Type Slider}">
|
||||
<Setter Property="SnapsToDevicePixels"
|
||||
Value="true" />
|
||||
<Setter Property="OverridesDefaultStyle"
|
||||
Value="true" />
|
||||
<Style.Triggers>
|
||||
<Trigger Property="Orientation"
|
||||
Value="Horizontal">
|
||||
<Setter Property="MinWidth"
|
||||
Value="104" />
|
||||
<Setter Property="MinHeight"
|
||||
Value="21" />
|
||||
<Setter Property="Template"
|
||||
Value="{StaticResource HorizontalSlider}" />
|
||||
</Trigger>
|
||||
<Trigger Property="Orientation"
|
||||
Value="Vertical">
|
||||
<Setter Property="MinWidth"
|
||||
Value="21" />
|
||||
<Setter Property="MinHeight"
|
||||
Value="104" />
|
||||
<Setter Property="Template"
|
||||
Value="{StaticResource VerticalSlider}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
Reference in New Issue
Block a user