Apply scrollbar borders to whole scrollbar rather just the thumb

However only two sided on the longer sides, removed on the short sides
This commit is contained in:
Peter Kirmeier 2023-09-17 17:08:09 +02:00
parent fe42045f77
commit 61c8785374

View file

@ -115,7 +115,7 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}"> <ControlTemplate TargetType="{x:Type Thumb}">
<Border x:Name="Border" CornerRadius="0" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1"> <Border x:Name="Border" CornerRadius="0" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0">
<VisualStateManager.VisualStateGroups> <VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates"> <VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" /> <VisualState x:Name="Normal" />
@ -153,114 +153,118 @@
</Style> </Style>
<ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}"> <ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
<Grid Background="{x:Static stm:MenuDefines.ColorScrollbarBackground}"> <Border Background="{x:Static stm:MenuDefines.ColorScrollbarBackground}" BorderBrush="{x:Static stm:MenuDefines.ColorScrollbarBackground}" BorderThickness="1,0">
<Grid.RowDefinitions> <Grid>
<RowDefinition MaxHeight="{u:ScaleDouble 15}" /> <Grid.RowDefinitions>
<RowDefinition Height="0.00001*" /> <RowDefinition MaxHeight="{u:ScaleDouble 15}" />
<RowDefinition MaxHeight="{u:ScaleDouble 15}" /> <RowDefinition Height="0.00001*" />
</Grid.RowDefinitions> <RowDefinition MaxHeight="{u:ScaleDouble 15}" />
<RepeatButton Grid.Row="0" </Grid.RowDefinitions>
<RepeatButton Grid.Row="0"
Style="{StaticResource ScrollBarLineButton}" Style="{StaticResource ScrollBarLineButton}"
Height="{u:ScaleDouble 15}" Height="{u:ScaleDouble 15}"
Command="ScrollBar.LineUpCommand" Command="ScrollBar.LineUpCommand"
Content="M 0 5 L 10 5 L 5 0 Z" /> Content="M 0 5 L 10 5 L 5 0 Z" />
<Track x:Name="PART_Track" Grid.Row="1" IsDirectionReversed="true"> <Track x:Name="PART_Track" Grid.Row="1" IsDirectionReversed="true">
<Track.DecreaseRepeatButton> <Track.DecreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageUpCommand" /> <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageUpCommand" />
</Track.DecreaseRepeatButton> </Track.DecreaseRepeatButton>
<Track.Thumb> <Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}" Margin="0"> <Thumb Style="{StaticResource ScrollBarThumb}" Margin="0">
<Thumb.BorderBrush> <Thumb.BorderBrush>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops> <LinearGradientBrush.GradientStops>
<GradientStopCollection> <GradientStopCollection>
<GradientStop Color="{TemplateBinding Background}" Offset="0.0" /> <GradientStop Color="{TemplateBinding Background}" Offset="0.0" />
<GradientStop Color="{TemplateBinding Background}" Offset="1.0" /> <GradientStop Color="{TemplateBinding Background}" Offset="1.0" />
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
</Thumb.BorderBrush> </Thumb.BorderBrush>
<Thumb.Background> <Thumb.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops> <LinearGradientBrush.GradientStops>
<GradientStopCollection> <GradientStopCollection>
<GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="0.0" /> <GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="0.0" />
<GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="1.0" /> <GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="1.0" />
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
</Thumb.Background> </Thumb.Background>
</Thumb> </Thumb>
</Track.Thumb> </Track.Thumb>
<Track.IncreaseRepeatButton> <Track.IncreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageDownCommand" /> <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageDownCommand" />
</Track.IncreaseRepeatButton> </Track.IncreaseRepeatButton>
</Track> </Track>
<RepeatButton Grid.Row="2" <RepeatButton Grid.Row="2"
Style="{StaticResource ScrollBarLineButton}" Style="{StaticResource ScrollBarLineButton}"
Height="{u:ScaleDouble 15}" Height="{u:ScaleDouble 15}"
Command="ScrollBar.LineDownCommand" Command="ScrollBar.LineDownCommand"
Content="M 0 0 L 5 5 L 10 0 Z" /> Content="M 0 0 L 5 5 L 10 0 Z" />
</Grid> </Grid>
</Border>
</ControlTemplate> </ControlTemplate>
<ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}"> <ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}">
<Grid Background="{x:Static stm:MenuDefines.ColorScrollbarBackground}"> <Border Background="{x:Static stm:MenuDefines.ColorScrollbarBackground}" BorderBrush="{x:Static stm:MenuDefines.ColorScrollbarBackground}" BorderThickness="0,1">
<Grid.ColumnDefinitions> <Grid Background="{x:Static stm:MenuDefines.ColorScrollbarBackground}">
<ColumnDefinition MaxWidth="{u:ScaleDouble 15}" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="0.00001*" /> <ColumnDefinition MaxWidth="{u:ScaleDouble 15}" />
<ColumnDefinition MaxWidth="{u:ScaleDouble 15}" /> <ColumnDefinition Width="0.00001*" />
</Grid.ColumnDefinitions> <ColumnDefinition MaxWidth="{u:ScaleDouble 15}" />
<RepeatButton Grid.Column="0" </Grid.ColumnDefinitions>
<RepeatButton Grid.Column="0"
Style="{StaticResource ScrollBarLineButton}" Style="{StaticResource ScrollBarLineButton}"
Width="{u:ScaleDouble 15}" Width="{u:ScaleDouble 15}"
Command="ScrollBar.LineLeftCommand" Command="ScrollBar.LineLeftCommand"
Content="M 5 0 L 5 10 L 0 5 Z" /> Content="M 5 0 L 5 10 L 0 5 Z" />
<Track x:Name="PART_Track" Grid.Column="1" IsDirectionReversed="False"> <Track x:Name="PART_Track" Grid.Column="1" IsDirectionReversed="False">
<Track.DecreaseRepeatButton> <Track.DecreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageLeftCommand" /> <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageLeftCommand" />
</Track.DecreaseRepeatButton> </Track.DecreaseRepeatButton>
<Track.Thumb> <Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}" Margin="0"> <Thumb Style="{StaticResource ScrollBarThumb}" Margin="0">
<Thumb.BorderBrush> <Thumb.BorderBrush>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops> <LinearGradientBrush.GradientStops>
<GradientStopCollection> <GradientStopCollection>
<GradientStop Color="{TemplateBinding Background}" Offset="0.0" /> <GradientStop Color="{TemplateBinding Background}" Offset="0.0" />
<GradientStop Color="{TemplateBinding Background}" Offset="1.0" /> <GradientStop Color="{TemplateBinding Background}" Offset="1.0" />
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
</Thumb.BorderBrush> </Thumb.BorderBrush>
<Thumb.Background> <Thumb.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops> <LinearGradientBrush.GradientStops>
<GradientStopCollection> <GradientStopCollection>
<GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="0.0" /> <GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="0.0" />
<GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="1.0" /> <GradientStop Color="{Binding Source={x:Static stm:MenuDefines.ColorSlider},Path=Color}" Offset="1.0" />
</GradientStopCollection> </GradientStopCollection>
</LinearGradientBrush.GradientStops> </LinearGradientBrush.GradientStops>
</LinearGradientBrush> </LinearGradientBrush>
</Thumb.Background> </Thumb.Background>
</Thumb> </Thumb>
</Track.Thumb> </Track.Thumb>
<Track.IncreaseRepeatButton> <Track.IncreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageRightCommand" /> <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageRightCommand" />
</Track.IncreaseRepeatButton> </Track.IncreaseRepeatButton>
</Track> </Track>
<RepeatButton Grid.Column="2" <RepeatButton Grid.Column="2"
Style="{StaticResource ScrollBarLineButton}" Style="{StaticResource ScrollBarLineButton}"
Width="{u:ScaleDouble 15}" Width="{u:ScaleDouble 15}"
Command="ScrollBar.LineRightCommand" Command="ScrollBar.LineRightCommand"
Content="M 0 0 L 5 5 L 0 10 Z" /> Content="M 0 0 L 5 5 L 0 10 Z" />
</Grid> </Grid>
</Border>
</ControlTemplate> </ControlTemplate>
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">