Browse Source

fix reservedspace

feature/fluent-slider
Jumar Macato 6 years ago
parent
commit
5f421f3378
No known key found for this signature in database GPG Key ID: B19884DAC3A5BF3F
  1. 18
      src/Avalonia.Controls/TickBar.cs
  2. 13
      src/Avalonia.Themes.Fluent/Slider.xaml

18
src/Avalonia.Controls/TickBar.cs

@ -36,24 +36,6 @@ namespace Avalonia.Controls
Bottom,
// NOTE: if you add or remove any values in this enum, be sure to update TickBar.IsValidTickBarPlacement()
};
public static class TickBarConverter
{
public static readonly IValueConverter ReservedSpaceBind =
new FuncValueConverter<object, Rect>(x =>
{
if (x is null)
{
}
if (x is Rect y)
{
return y;
}
return new Rect();
});
}
/// <summary>

13
src/Avalonia.Themes.Fluent/Slider.xaml

@ -50,8 +50,12 @@
<Grid Name="grid" Margin="{TemplateBinding Padding}" RowDefinitions="Auto, *">
<ContentPresenter x:Name="HeaderContentPresenter" Grid.Row="0" TextBlock.FontWeight="{DynamicResource SliderHeaderThemeFontWeight}" TextBlock.Foreground="{DynamicResource SliderHeaderForeground}" Margin="{DynamicResource SliderTopHeaderMargin}" />
<Grid x:Name="SliderContainer" Grid.Row="1">
<Grid.Styles>
<Style Selector="TickBar">
<Setter Property="ReservedSpace" Value="{Binding #PART_Track.Thumb.Bounds}" />
</Style>
</Grid.Styles>
<Grid x:Name="HorizontalTemplate" ColumnDefinitions="Auto,Auto,*" MinHeight="{DynamicResource SliderHorizontalHeight}">
<Grid.RowDefinitions>
<RowDefinition Height="{DynamicResource SliderPreContentMargin}" />
<RowDefinition Height="Auto" />
@ -111,8 +115,12 @@
<Grid Name="grid" Margin="{TemplateBinding Padding}" RowDefinitions="Auto, *">
<ContentPresenter x:Name="HeaderContentPresenter" Grid.Row="0" TextBlock.FontWeight="{DynamicResource SliderHeaderThemeFontWeight}" TextBlock.Foreground="{DynamicResource SliderHeaderForeground}" Margin="{DynamicResource SliderTopHeaderMargin}" />
<Grid x:Name="SliderContainer" Grid.Row="1">
<Grid.Styles>
<Style Selector="TickBar">
<Setter Property="ReservedSpace" Value="{Binding #PART_Track.Thumb.Bounds}" />
</Style>
</Grid.Styles>
<Grid x:Name="VerticalTemplate" RowDefinitions="*,Auto,Auto" MinWidth="{DynamicResource SliderVerticalWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{DynamicResource SliderPreContentMargin}" />
<ColumnDefinition Width="Auto" />
@ -172,7 +180,6 @@
<Setter Property="Orientation" Value="{TemplateBinding Slider.Orientation}" />
<Setter Property="Minimum" Value="{TemplateBinding Slider.Minimum}" />
<Setter Property="Maximum" Value="{TemplateBinding Slider.Maximum}" />
<Setter Property="ReservedSpace" Value="{Binding #SliderThumb.Bound, Converter={x:Static TickBarConverter.ReservedSpaceBind}}" />
</Style>
<!-- Normal State -->

Loading…
Cancel
Save