105 lines
6.1 KiB
XML
105 lines
6.1 KiB
XML
<!--
|
|
This Source Code Form is subject to the terms of the MIT License.
|
|
If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
|
Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
|
All Rights Reserved.
|
|
-->
|
|
|
|
<ResourceDictionary
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="clr-namespace:WPFluent.Controls"
|
|
xmlns:converters="clr-namespace:WPFluent.Converters">
|
|
|
|
<converters:ProgressThicknessConverter x:Key="ProgressThicknessConverter" />
|
|
|
|
<Style TargetType="{x:Type controls:ProgressRing}">
|
|
<Setter Property="Height" Value="60" />
|
|
<Setter Property="Width" Value="60" />
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="Foreground" Value="{DynamicResource ProgressRingForegroundThemeBrush}" />
|
|
<Setter Property="CoverRingStroke" Value="{DynamicResource ProgressRingBackgroundThemeBrush}" />
|
|
<Setter Property="SnapsToDevicePixels" Value="True" />
|
|
<Setter Property="OverridesDefaultStyle" Value="True" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type controls:ProgressRing}">
|
|
<Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
|
|
<controls:Arc
|
|
EndAngle="359"
|
|
StartAngle="0"
|
|
Stroke="{TemplateBinding CoverRingStroke}"
|
|
StrokeThickness="{Binding Path=Height, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay, Converter={StaticResource ProgressThicknessConverter}}"
|
|
Visibility="{TemplateBinding CoverRingVisibility}" />
|
|
<controls:Arc
|
|
EndAngle="{TemplateBinding EngAngle}"
|
|
StartAngle="0"
|
|
Stroke="{TemplateBinding Foreground}"
|
|
StrokeThickness="{Binding Path=Height, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay, Converter={StaticResource ProgressThicknessConverter}}" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsIndeterminate" Value="True">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type controls:ProgressRing}">
|
|
<Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
|
|
<controls:Arc
|
|
EndAngle="359"
|
|
StartAngle="0"
|
|
Stroke="{TemplateBinding CoverRingStroke}"
|
|
StrokeThickness="{Binding Path=Height, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay, Converter={StaticResource ProgressThicknessConverter}}"
|
|
Visibility="{TemplateBinding CoverRingVisibility}" />
|
|
<controls:Arc
|
|
x:Name="Arc"
|
|
EndAngle="{TemplateBinding IndeterminateAngle}"
|
|
RenderTransformOrigin="0.5, 0.5"
|
|
StartAngle="0"
|
|
Stroke="{TemplateBinding Foreground}"
|
|
StrokeThickness="{Binding Path=Height, RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay, Converter={StaticResource ProgressThicknessConverter}}">
|
|
<controls:Arc.RenderTransform>
|
|
<RotateTransform />
|
|
</controls:Arc.RenderTransform>
|
|
</controls:Arc>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="True">
|
|
<Trigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation
|
|
RepeatBehavior="Forever"
|
|
Storyboard.TargetName="Arc"
|
|
Storyboard.TargetProperty="(Canvas.RenderTransform).(RotateTransform.Angle)"
|
|
To="360"
|
|
Duration="0:0:2" />
|
|
|
|
<DoubleAnimation
|
|
AutoReverse="True"
|
|
RepeatBehavior="Forever"
|
|
Storyboard.TargetName="Arc"
|
|
Storyboard.TargetProperty="EndAngle"
|
|
From="100"
|
|
To="320"
|
|
Duration="0:0:5" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.EnterActions>
|
|
<Trigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard />
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
</ResourceDictionary>
|