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