Browse Source

take advantage of border clipping.

pull/4074/head
Dan Walmsley 6 years ago
parent
commit
ea8609d5bd
  1. 28
      src/Avalonia.Themes.Fluent/ProgressBar.xaml

28
src/Avalonia.Themes.Fluent/ProgressBar.xaml

@ -2,7 +2,7 @@
<Design.PreviewWith> <Design.PreviewWith>
<Border Padding="20"> <Border Padding="20">
<StackPanel> <StackPanel>
<ProgressBar VerticalAlignment="Center" IsIndeterminate="True" /> <ProgressBar VerticalAlignment="Center" IsIndeterminate="True" Value="50" />
<ProgressBar HorizontalAlignment="Left" IsIndeterminate="True" Orientation="Vertical" /> <ProgressBar HorizontalAlignment="Left" IsIndeterminate="True" Orientation="Vertical" />
</StackPanel> </StackPanel>
</Border> </Border>
@ -17,15 +17,15 @@
<Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate> <ControlTemplate>
<Border x:Name="ProgressBarRoot" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{DynamicResource ControlCornerRadius}"> <Border x:Name="ProgressBarRoot" ClipToBounds="True" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{DynamicResource ControlCornerRadius}">
<Border Clip="{TemplateBinding ClipRect}"> <Border CornerRadius="{DynamicResource ControlCornerRadius}">
<Grid> <Grid>
<Grid x:Name="DeterminateRoot"> <Grid x:Name="DeterminateRoot">
<Border x:Name="PART_Indicator" Margin="{TemplateBinding Padding}" Background="{TemplateBinding Foreground}" /> <Border CornerRadius="{DynamicResource ControlCornerRadius}" x:Name="PART_Indicator" Margin="{TemplateBinding Padding}" Background="{TemplateBinding Foreground}" />
</Grid> </Grid>
<Grid x:Name="IndeterminateRoot"> <Grid x:Name="IndeterminateRoot">
<Rectangle x:Name="IndeterminateProgressBarIndicator" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Foreground}" /> <Border x:Name="IndeterminateProgressBarIndicator" CornerRadius="{DynamicResource ControlCornerRadius}" Margin="{TemplateBinding Padding}" Background="{TemplateBinding Foreground}" />
<Rectangle x:Name="IndeterminateProgressBarIndicator2" Margin="{TemplateBinding Padding}" Fill="{TemplateBinding Foreground}" /> <Border x:Name="IndeterminateProgressBarIndicator2" CornerRadius="{DynamicResource ControlCornerRadius}" Margin="{TemplateBinding Padding}" Background="{TemplateBinding Foreground}" />
</Grid> </Grid>
</Grid> </Grid>
</Border> </Border>
@ -83,7 +83,7 @@
<Style Selector="ProgressBar:indeterminate /template/ Grid#IndeterminateRoot"> <Style Selector="ProgressBar:indeterminate /template/ Grid#IndeterminateRoot">
<Setter Property="Opacity" Value="1" /> <Setter Property="Opacity" Value="1" />
</Style> </Style>
<Style Selector="ProgressBar:horizontal:indeterminate /template/ Rectangle#IndeterminateProgressBarIndicator"> <Style Selector="ProgressBar:horizontal:indeterminate /template/ Border#IndeterminateProgressBarIndicator">
<Style.Animations> <Style.Animations>
<Animation Duration="0:0:2" IterationCount="Infinite"> <Animation Duration="0:0:2" IterationCount="Infinite">
<KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1"> <KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1">
@ -98,7 +98,7 @@
</Animation> </Animation>
</Style.Animations> </Style.Animations>
</Style> </Style>
<Style Selector="ProgressBar:horizontal:indeterminate /template/ Rectangle#IndeterminateProgressBarIndicator2"> <Style Selector="ProgressBar:horizontal:indeterminate /template/ Border#IndeterminateProgressBarIndicator2">
<Style.Animations> <Style.Animations>
<Animation Duration="0:0:2" IterationCount="Infinite"> <Animation Duration="0:0:2" IterationCount="Infinite">
<KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1"> <KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1">
@ -113,7 +113,7 @@
</Animation> </Animation>
</Style.Animations> </Style.Animations>
</Style> </Style>
<Style Selector="ProgressBar:vertical:indeterminate /template/ Rectangle#IndeterminateProgressBarIndicator"> <Style Selector="ProgressBar:vertical:indeterminate /template/ Border#IndeterminateProgressBarIndicator">
<Style.Animations> <Style.Animations>
<Animation Duration="0:0:2" IterationCount="Infinite"> <Animation Duration="0:0:2" IterationCount="Infinite">
<KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1"> <KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1">
@ -128,7 +128,7 @@
</Animation> </Animation>
</Style.Animations> </Style.Animations>
</Style> </Style>
<Style Selector="ProgressBar:vertical:indeterminate /template/ Rectangle#IndeterminateProgressBarIndicator2"> <Style Selector="ProgressBar:vertical:indeterminate /template/ Border#IndeterminateProgressBarIndicator2">
<Style.Animations> <Style.Animations>
<Animation Duration="0:0:2" IterationCount="Infinite"> <Animation Duration="0:0:2" IterationCount="Infinite">
<KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1"> <KeyFrame KeyTime="0:0:0" KeySpline="0.4,0,0.6,1">
@ -143,7 +143,7 @@
</Animation> </Animation>
</Style.Animations> </Style.Animations>
</Style> </Style>
<Style Selector="ProgressBar:horizontal /template/ Rectangle#IndeterminateProgressBarIndicator"> <Style Selector="ProgressBar:horizontal /template/ Border#IndeterminateProgressBarIndicator">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].ContainerWidth}" /> <Setter Property="Width" Value="{Binding $parent[ProgressBar].ContainerWidth}" />
<Setter Property="RenderTransform"> <Setter Property="RenderTransform">
<Setter.Value> <Setter.Value>
@ -151,7 +151,7 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Style> </Style>
<Style Selector="ProgressBar:horizontal /template/ Rectangle#IndeterminateProgressBarIndicator2"> <Style Selector="ProgressBar:horizontal /template/ Border#IndeterminateProgressBarIndicator2">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].Container2Width}" /> <Setter Property="Width" Value="{Binding $parent[ProgressBar].Container2Width}" />
<Setter Property="RenderTransform"> <Setter Property="RenderTransform">
<Setter.Value> <Setter.Value>
@ -159,7 +159,7 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Style> </Style>
<Style Selector="ProgressBar:vertical /template/ Rectangle#IndeterminateProgressBarIndicator"> <Style Selector="ProgressBar:vertical /template/ Border#IndeterminateProgressBarIndicator">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].ContainerWidth}" /> <Setter Property="Height" Value="{Binding $parent[ProgressBar].ContainerWidth}" />
<Setter Property="RenderTransform"> <Setter Property="RenderTransform">
<Setter.Value> <Setter.Value>
@ -167,7 +167,7 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Style> </Style>
<Style Selector="ProgressBar:vertical /template/ Rectangle#IndeterminateProgressBarIndicator2"> <Style Selector="ProgressBar:vertical /template/ Border#IndeterminateProgressBarIndicator2">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].Container2Width}" /> <Setter Property="Height" Value="{Binding $parent[ProgressBar].Container2Width}" />
<Setter Property="RenderTransform"> <Setter Property="RenderTransform">
<Setter.Value> <Setter.Value>

Loading…
Cancel
Save