4 changed files with 274 additions and 265 deletions
@ -1,188 +1,190 @@ |
|||||
<Styles xmlns="https://github.com/avaloniaui" |
<ResourceDictionary xmlns="https://github.com/avaloniaui" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
x:CompileBindings="True"> |
x:CompileBindings="True"> |
||||
|
|
||||
<Style Selector="Thumb.ColorSliderThumbStyle"> |
<ControlTheme x:Key="ColorSliderThumbTheme" |
||||
<Setter Property="BorderThickness" Value="0" /> |
TargetType="Thumb"> |
||||
|
<Setter Property="Background" Value="Transparent" /> |
||||
|
<Setter Property="BorderBrush" Value="{DynamicResource ThemeForegroundBrush}" /> |
||||
|
<Setter Property="BorderThickness" Value="3" /> |
||||
|
<Setter Property="CornerRadius" Value="10" /> |
||||
<Setter Property="Template"> |
<Setter Property="Template"> |
||||
<Setter.Value> |
<Setter.Value> |
||||
<ControlTemplate> |
<ControlTemplate> |
||||
<Border Background="{TemplateBinding Background}" |
<Border Background="{TemplateBinding Background}" |
||||
BorderBrush="{TemplateBinding BorderBrush}" |
BorderBrush="{TemplateBinding BorderBrush}" |
||||
BorderThickness="{TemplateBinding BorderThickness}" |
BorderThickness="{TemplateBinding BorderThickness}" |
||||
CornerRadius="10" /> |
CornerRadius="{TemplateBinding CornerRadius}" /> |
||||
</ControlTemplate> |
</ControlTemplate> |
||||
</Setter.Value> |
</Setter.Value> |
||||
</Setter> |
</Setter> |
||||
</Style> |
</ControlTheme> |
||||
|
|
||||
<Style Selector="ColorSlider:horizontal"> |
<ControlTheme x:Key="{x:Type ColorSlider}" |
||||
<Setter Property="BorderThickness" Value="0" /> |
TargetType="ColorSlider"> |
||||
<Setter Property="CornerRadius" Value="10" /> |
|
||||
<Setter Property="Height" Value="20" /> |
|
||||
<Setter Property="Template"> |
|
||||
<ControlTemplate TargetType="{x:Type ColorSlider}"> |
|
||||
<Border BorderThickness="{TemplateBinding BorderThickness}" |
|
||||
BorderBrush="{TemplateBinding BorderBrush}" |
|
||||
CornerRadius="{TemplateBinding CornerRadius}"> |
|
||||
<Grid Margin="{TemplateBinding Padding}"> |
|
||||
<Rectangle HorizontalAlignment="Stretch" |
|
||||
VerticalAlignment="Stretch" |
|
||||
Fill="{StaticResource ColorControlCheckeredBackgroundBrush}" |
|
||||
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
|
||||
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
|
||||
<Rectangle HorizontalAlignment="Stretch" |
|
||||
VerticalAlignment="Stretch" |
|
||||
Fill="{TemplateBinding Background}" |
|
||||
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
|
||||
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
|
||||
<Track Name="PART_Track" |
|
||||
HorizontalAlignment="Stretch" |
|
||||
VerticalAlignment="Stretch" |
|
||||
Minimum="{TemplateBinding Minimum}" |
|
||||
Maximum="{TemplateBinding Maximum}" |
|
||||
Value="{TemplateBinding Value, Mode=TwoWay}" |
|
||||
IsDirectionReversed="{TemplateBinding IsDirectionReversed}" |
|
||||
Orientation="Horizontal"> |
|
||||
<Track.DecreaseButton> |
|
||||
<RepeatButton Name="PART_DecreaseButton" |
|
||||
Background="Transparent" |
|
||||
Focusable="False" |
|
||||
HorizontalAlignment="Stretch" |
|
||||
VerticalAlignment="Stretch"> |
|
||||
<RepeatButton.Template> |
|
||||
<ControlTemplate> |
|
||||
<Border Name="FocusTarget" |
|
||||
Background="Transparent" |
|
||||
Margin="0,-10" /> |
|
||||
</ControlTemplate> |
|
||||
</RepeatButton.Template> |
|
||||
</RepeatButton> |
|
||||
</Track.DecreaseButton> |
|
||||
<Track.IncreaseButton> |
|
||||
<RepeatButton Name="PART_IncreaseButton" |
|
||||
Background="Transparent" |
|
||||
Focusable="False" |
|
||||
HorizontalAlignment="Stretch" |
|
||||
VerticalAlignment="Stretch"> |
|
||||
<RepeatButton.Template> |
|
||||
<ControlTemplate> |
|
||||
<Border Name="FocusTarget" |
|
||||
Background="Transparent" |
|
||||
Margin="0,-10" /> |
|
||||
</ControlTemplate> |
|
||||
</RepeatButton.Template> |
|
||||
</RepeatButton> |
|
||||
</Track.IncreaseButton> |
|
||||
<Thumb Classes="ColorSliderThumbStyle" |
|
||||
Name="ColorSliderThumb" |
|
||||
Margin="0" |
|
||||
Padding="0" |
|
||||
DataContext="{TemplateBinding Value}" |
|
||||
Height="{TemplateBinding Height}" |
|
||||
Width="{TemplateBinding Height}" /> |
|
||||
</Track> |
|
||||
</Grid> |
|
||||
</Border> |
|
||||
</ControlTemplate> |
|
||||
</Setter> |
|
||||
</Style> |
|
||||
|
|
||||
<Style Selector="ColorSlider:vertical"> |
<Style Selector="^:horizontal"> |
||||
<Setter Property="BorderThickness" Value="0" /> |
<Setter Property="BorderThickness" Value="0" /> |
||||
<Setter Property="CornerRadius" Value="10" /> |
<Setter Property="CornerRadius" Value="10" /> |
||||
<Setter Property="Width" Value="20" /> |
<Setter Property="Height" Value="20" /> |
||||
<Setter Property="Template"> |
<Setter Property="Template"> |
||||
<ControlTemplate TargetType="{x:Type ColorSlider}"> |
<ControlTemplate TargetType="{x:Type ColorSlider}"> |
||||
<Border BorderThickness="{TemplateBinding BorderThickness}" |
<Border BorderThickness="{TemplateBinding BorderThickness}" |
||||
BorderBrush="{TemplateBinding BorderBrush}" |
BorderBrush="{TemplateBinding BorderBrush}" |
||||
CornerRadius="{TemplateBinding CornerRadius}"> |
CornerRadius="{TemplateBinding CornerRadius}"> |
||||
<Grid Margin="{TemplateBinding Padding}"> |
<Grid Margin="{TemplateBinding Padding}"> |
||||
<Rectangle HorizontalAlignment="Stretch" |
<Rectangle HorizontalAlignment="Stretch" |
||||
VerticalAlignment="Stretch" |
VerticalAlignment="Stretch" |
||||
Fill="{StaticResource ColorControlCheckeredBackgroundBrush}" |
Fill="{StaticResource ColorControlCheckeredBackgroundBrush}" |
||||
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
||||
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
||||
<Rectangle HorizontalAlignment="Stretch" |
<Rectangle HorizontalAlignment="Stretch" |
||||
VerticalAlignment="Stretch" |
VerticalAlignment="Stretch" |
||||
Fill="{TemplateBinding Background}" |
Fill="{TemplateBinding Background}" |
||||
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
||||
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
||||
<Track Name="PART_Track" |
<Track Name="PART_Track" |
||||
HorizontalAlignment="Stretch" |
HorizontalAlignment="Stretch" |
||||
VerticalAlignment="Stretch" |
VerticalAlignment="Stretch" |
||||
Minimum="{TemplateBinding Minimum}" |
Minimum="{TemplateBinding Minimum}" |
||||
Maximum="{TemplateBinding Maximum}" |
Maximum="{TemplateBinding Maximum}" |
||||
Value="{TemplateBinding Value, Mode=TwoWay}" |
Value="{TemplateBinding Value, Mode=TwoWay}" |
||||
IsDirectionReversed="{TemplateBinding IsDirectionReversed}" |
IsDirectionReversed="{TemplateBinding IsDirectionReversed}" |
||||
Orientation="Vertical"> |
Orientation="Horizontal"> |
||||
<Track.DecreaseButton> |
<Track.DecreaseButton> |
||||
<RepeatButton Name="PART_DecreaseButton" |
<RepeatButton Name="PART_DecreaseButton" |
||||
Background="Transparent" |
Background="Transparent" |
||||
Focusable="False" |
Focusable="False" |
||||
HorizontalAlignment="Stretch" |
HorizontalAlignment="Stretch" |
||||
VerticalAlignment="Stretch"> |
VerticalAlignment="Stretch"> |
||||
<RepeatButton.Template> |
<RepeatButton.Template> |
||||
<ControlTemplate> |
<ControlTemplate> |
||||
<Border Name="FocusTarget" |
<Border Name="FocusTarget" |
||||
Background="Transparent" |
Background="Transparent" |
||||
Margin="0,-10" /> |
Margin="0,-10" /> |
||||
</ControlTemplate> |
</ControlTemplate> |
||||
</RepeatButton.Template> |
</RepeatButton.Template> |
||||
</RepeatButton> |
</RepeatButton> |
||||
</Track.DecreaseButton> |
</Track.DecreaseButton> |
||||
<Track.IncreaseButton> |
<Track.IncreaseButton> |
||||
<RepeatButton Name="PART_IncreaseButton" |
<RepeatButton Name="PART_IncreaseButton" |
||||
Background="Transparent" |
Background="Transparent" |
||||
Focusable="False" |
Focusable="False" |
||||
HorizontalAlignment="Stretch" |
HorizontalAlignment="Stretch" |
||||
VerticalAlignment="Stretch"> |
VerticalAlignment="Stretch"> |
||||
<RepeatButton.Template> |
<RepeatButton.Template> |
||||
<ControlTemplate> |
<ControlTemplate> |
||||
<Border Name="FocusTarget" |
<Border Name="FocusTarget" |
||||
Background="Transparent" |
Background="Transparent" |
||||
Margin="0,-10" /> |
Margin="0,-10" /> |
||||
</ControlTemplate> |
</ControlTemplate> |
||||
</RepeatButton.Template> |
</RepeatButton.Template> |
||||
</RepeatButton> |
</RepeatButton> |
||||
</Track.IncreaseButton> |
</Track.IncreaseButton> |
||||
<Thumb Classes="ColorSliderThumbStyle" |
<Thumb Name="ColorSliderThumb" |
||||
Name="ColorSliderThumb" |
Theme="{StaticResource ColorSliderThumbTheme}" |
||||
Margin="0" |
Margin="0" |
||||
Padding="0" |
Padding="0" |
||||
DataContext="{TemplateBinding Value}" |
DataContext="{TemplateBinding Value}" |
||||
Height="{TemplateBinding Width}" |
Height="{TemplateBinding Height}" |
||||
Width="{TemplateBinding Width}" /> |
Width="{TemplateBinding Height}" /> |
||||
</Track> |
</Track> |
||||
</Grid> |
</Grid> |
||||
</Border> |
</Border> |
||||
</ControlTemplate> |
</ControlTemplate> |
||||
</Setter> |
</Setter> |
||||
</Style> |
</Style> |
||||
|
|
||||
<!-- Normal State --> |
<Style Selector="^:vertical"> |
||||
<Style Selector="ColorSlider /template/ Thumb.ColorSliderThumbStyle"> |
<Setter Property="BorderThickness" Value="0" /> |
||||
<Setter Property="Background" Value="Transparent" /> |
<Setter Property="CornerRadius" Value="10" /> |
||||
<Setter Property="BorderBrush" Value="{DynamicResource ThemeForegroundBrush}" /> |
<Setter Property="Width" Value="20" /> |
||||
<Setter Property="BorderThickness" Value="3" /> |
<Setter Property="Template"> |
||||
</Style> |
<ControlTemplate TargetType="{x:Type ColorSlider}"> |
||||
|
<Border BorderThickness="{TemplateBinding BorderThickness}" |
||||
|
BorderBrush="{TemplateBinding BorderBrush}" |
||||
|
CornerRadius="{TemplateBinding CornerRadius}"> |
||||
|
<Grid Margin="{TemplateBinding Padding}"> |
||||
|
<Rectangle HorizontalAlignment="Stretch" |
||||
|
VerticalAlignment="Stretch" |
||||
|
Fill="{StaticResource ColorControlCheckeredBackgroundBrush}" |
||||
|
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
||||
|
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
||||
|
<Rectangle HorizontalAlignment="Stretch" |
||||
|
VerticalAlignment="Stretch" |
||||
|
Fill="{TemplateBinding Background}" |
||||
|
RadiusX="{TemplateBinding CornerRadius, Converter={StaticResource TopLeftCornerRadiusConverter}}" |
||||
|
RadiusY="{TemplateBinding CornerRadius, Converter={StaticResource BottomRightCornerRadiusConverter}}" /> |
||||
|
<Track Name="PART_Track" |
||||
|
HorizontalAlignment="Stretch" |
||||
|
VerticalAlignment="Stretch" |
||||
|
Minimum="{TemplateBinding Minimum}" |
||||
|
Maximum="{TemplateBinding Maximum}" |
||||
|
Value="{TemplateBinding Value, Mode=TwoWay}" |
||||
|
IsDirectionReversed="{TemplateBinding IsDirectionReversed}" |
||||
|
Orientation="Vertical"> |
||||
|
<Track.DecreaseButton> |
||||
|
<RepeatButton Name="PART_DecreaseButton" |
||||
|
Background="Transparent" |
||||
|
Focusable="False" |
||||
|
HorizontalAlignment="Stretch" |
||||
|
VerticalAlignment="Stretch"> |
||||
|
<RepeatButton.Template> |
||||
|
<ControlTemplate> |
||||
|
<Border Name="FocusTarget" |
||||
|
Background="Transparent" |
||||
|
Margin="0,-10" /> |
||||
|
</ControlTemplate> |
||||
|
</RepeatButton.Template> |
||||
|
</RepeatButton> |
||||
|
</Track.DecreaseButton> |
||||
|
<Track.IncreaseButton> |
||||
|
<RepeatButton Name="PART_IncreaseButton" |
||||
|
Background="Transparent" |
||||
|
Focusable="False" |
||||
|
HorizontalAlignment="Stretch" |
||||
|
VerticalAlignment="Stretch"> |
||||
|
<RepeatButton.Template> |
||||
|
<ControlTemplate> |
||||
|
<Border Name="FocusTarget" |
||||
|
Background="Transparent" |
||||
|
Margin="0,-10" /> |
||||
|
</ControlTemplate> |
||||
|
</RepeatButton.Template> |
||||
|
</RepeatButton> |
||||
|
</Track.IncreaseButton> |
||||
|
<Thumb Name="ColorSliderThumb" |
||||
|
Theme="{StaticResource ColorSliderThumbTheme}" |
||||
|
Margin="0" |
||||
|
Padding="0" |
||||
|
DataContext="{TemplateBinding Value}" |
||||
|
Height="{TemplateBinding Width}" |
||||
|
Width="{TemplateBinding Width}" /> |
||||
|
</Track> |
||||
|
</Grid> |
||||
|
</Border> |
||||
|
</ControlTemplate> |
||||
|
</Setter> |
||||
|
</Style> |
||||
|
|
||||
|
<!-- Selector/Thumb Color --> |
||||
|
<Style Selector="^:pointerover /template/ Thumb#ColorSliderThumb"> |
||||
|
<Setter Property="Opacity" Value="0.75" /> |
||||
|
</Style> |
||||
|
<Style Selector="^:pointerover:dark-selector /template/ Thumb#ColorSliderThumb"> |
||||
|
<Setter Property="Opacity" Value="0.7" /> |
||||
|
</Style> |
||||
|
<Style Selector="^:pointerover:light-selector /template/ Thumb#ColorSliderThumb"> |
||||
|
<Setter Property="Opacity" Value="0.8" /> |
||||
|
</Style> |
||||
|
|
||||
<!-- Selector/Thumb Color --> |
<Style Selector="^:dark-selector /template/ Thumb#ColorSliderThumb"> |
||||
<Style Selector="ColorSlider:pointerover /template/ Thumb.ColorSliderThumbStyle"> |
<Setter Property="BorderBrush" Value="Black" /> |
||||
<Setter Property="Opacity" Value="0.75" /> |
</Style> |
||||
</Style> |
<Style Selector="^:light-selector /template/ Thumb#ColorSliderThumb"> |
||||
<Style Selector="ColorSlider:pointerover:dark-selector /template/ Thumb.ColorSliderThumbStyle"> |
<Setter Property="BorderBrush" Value="White" /> |
||||
<Setter Property="Opacity" Value="0.7" /> |
</Style> |
||||
</Style> |
|
||||
<Style Selector="ColorSlider:pointerover:light-selector /template/ Thumb.ColorSliderThumbStyle"> |
|
||||
<Setter Property="Opacity" Value="0.8" /> |
|
||||
</Style> |
|
||||
|
|
||||
<Style Selector="ColorSlider:dark-selector /template/ Thumb.ColorSliderThumbStyle"> |
</ControlTheme> |
||||
<Setter Property="BorderBrush" Value="Black" /> |
|
||||
</Style> |
|
||||
<Style Selector="ColorSlider:light-selector /template/ Thumb.ColorSliderThumbStyle"> |
|
||||
<Setter Property="BorderBrush" Value="White" /> |
|
||||
</Style> |
|
||||
|
|
||||
</Styles> |
</ResourceDictionary> |
||||
|
|||||
Loading…
Reference in new issue