Skip to content

Commit a012777

Browse files
authored
Code Quality: Animated chevron (#17259)
1 parent 8f51561 commit a012777

File tree

1 file changed

+38
-20
lines changed

1 file changed

+38
-20
lines changed

src/Files.App.Controls/BreadcrumbBar/BreadcrumbBar.xaml

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -203,31 +203,27 @@
203203
</MenuFlyout>
204204
</FlyoutBase.AttachedFlyout>
205205

206-
<AnimatedIcon
206+
<FontIcon
207207
x:Name="PART_ItemChevronIcon"
208208
Width="{StaticResource BreadcrumbBarChevronFontSize}"
209209
Height="{StaticResource BreadcrumbBarChevronFontSize}"
210210
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
211211
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
212-
AnimatedIcon.State="NormalOff"
213-
AutomationProperties.AccessibilityView="Raw"
212+
FontSize="{StaticResource BreadcrumbBarChevronFontSize}"
214213
Foreground="{ThemeResource BreadcrumbBarForegroundBrush}"
215-
MirroredWhenRightToLeft="True"
216-
RenderTransformOrigin="0.5, 0.5">
217-
<AnimatedIcon.FallbackIconSource>
218-
<FontIconSource
219-
FontSize="{StaticResource BreadcrumbBarChevronFontSize}"
220-
Glyph="&#xE76C;"
221-
IsTextScaleFactorEnabled="False" />
222-
</AnimatedIcon.FallbackIconSource>
223-
<animatedvisuals:AnimatedChevronRightDownSmallVisualSource />
224-
</AnimatedIcon>
225-
214+
Glyph="&#xE76C;"
215+
IsTextScaleFactorEnabled="False"
216+
RenderTransformOrigin="0.5,0.5">
217+
<FontIcon.RenderTransform>
218+
<TransformGroup>
219+
<RotateTransform x:Name="ChevronRotateTransform" Angle="0" />
220+
</TransformGroup>
221+
</FontIcon.RenderTransform>
222+
</FontIcon>
226223
</Button>
227224
</StackPanel>
228225

229226
<VisualStateManager.VisualStateGroups>
230-
231227
<VisualStateGroup x:Name="ChevronVisibilityStates">
232228
<VisualState x:Name="ChevronVisible" />
233229
<VisualState x:Name="ChevronCollapsed">
@@ -238,14 +234,36 @@
238234
</VisualStateGroup>
239235

240236
<VisualStateGroup x:Name="ChevronStates">
241-
<VisualState x:Name="ChevronNormalOff" />
237+
<VisualState x:Name="ChevronNormalOff">
238+
<Storyboard>
239+
<DoubleAnimation
240+
EnableDependentAnimation="True"
241+
Storyboard.TargetName="ChevronRotateTransform"
242+
Storyboard.TargetProperty="Angle"
243+
To="0"
244+
Duration="0:0:0.2">
245+
<DoubleAnimation.EasingFunction>
246+
<CubicEase EasingMode="EaseIn" />
247+
</DoubleAnimation.EasingFunction>
248+
</DoubleAnimation>
249+
</Storyboard>
250+
</VisualState>
251+
242252
<VisualState x:Name="ChevronNormalOn">
243-
<VisualState.Setters>
244-
<Setter Target="PART_ItemChevronIcon.(AnimatedIcon.State)" Value="NormalOn" />
245-
</VisualState.Setters>
253+
<Storyboard>
254+
<DoubleAnimation
255+
EnableDependentAnimation="True"
256+
Storyboard.TargetName="ChevronRotateTransform"
257+
Storyboard.TargetProperty="Angle"
258+
To="90"
259+
Duration="0:0:0.2">
260+
<DoubleAnimation.EasingFunction>
261+
<CubicEase EasingMode="EaseIn" />
262+
</DoubleAnimation.EasingFunction>
263+
</DoubleAnimation>
264+
</Storyboard>
246265
</VisualState>
247266
</VisualStateGroup>
248-
249267
</VisualStateManager.VisualStateGroups>
250268
</Grid>
251269
</ControlTemplate>

0 commit comments

Comments
 (0)