detect/detect.gui/Controls/ProgressBox.axaml
2024-11-13 17:09:15 +08:00

73 lines
3.7 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:detect.gui.Controls"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="detect.gui.Controls.ProgressBox">
<Grid>
<Border Background="{StaticResource DialogBackground}"
IsVisible="{Binding $parent[controls:ProgressBox].IsVisible}" />
<Arc StrokeThickness="4"
Stroke="{Binding $parent[controls:ProgressBox].Foreground}"
Height="{Binding $parent[controls:ProgressBox].IconWidth}"
Width="{Binding $parent[controls:ProgressBox].IconHeight}"
StartAngle="0">
<Arc.Styles>
<Style Selector="Arc">
<Style.Animations>
<Animation Duration="0:0:1.2" IterationCount="INFINITE">
<KeyFrame Cue="0%">
<Setter Property="StartAngle" Value="0" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="33%">
<Setter Property="StartAngle" Value="60" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="66%">
<Setter Property="StartAngle" Value="120" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="100%">
<Setter Property="StartAngle" Value="180" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
</Arc.Styles>
</Arc>
<Arc StrokeThickness="4"
Stroke="{Binding $parent[controls:ProgressBox].Foreground}"
Height="{Binding $parent[controls:ProgressBox].IconWidth}"
Width="{Binding $parent[controls:ProgressBox].IconHeight}"
StartAngle="180">
<Arc.Styles>
<Style Selector="Arc">
<Style.Animations>
<Animation Duration="0:0:1.2" IterationCount="INFINITE">
<KeyFrame Cue="0%">
<Setter Property="StartAngle" Value="180" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="33%">
<Setter Property="StartAngle" Value="240" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="66%">
<Setter Property="StartAngle" Value="300" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
<KeyFrame Cue="100%">
<Setter Property="StartAngle" Value="360" />
<Setter Property="SweepAngle" Value="120" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
</Arc.Styles>
</Arc>
</Grid>
</UserControl>