Skip to content

Commit

Permalink
Optimize Expander (MaterialDesignInXAML#2579)
Browse files Browse the repository at this point in the history
Change visibility depending on expander state to improve loading times
  • Loading branch information
StefanoRivolta-Previero authored Feb 18, 2022
1 parent 04d718d commit 0c87790
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,11 @@
<CubicEase EasingMode="EaseInOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<ObjectAnimationUsingKeyFrames Duration="0:0:0"
Storyboard.TargetName="PART_Content"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0%" Value="{x:Static Visibility.Visible}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>

Expand All @@ -206,6 +211,11 @@
<CubicEase EasingMode="EaseInOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<ObjectAnimationUsingKeyFrames Duration="{DynamicResource CollapseDuration}"
Storyboard.TargetName="PART_Content"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="100%" Value="{x:Static Visibility.Collapsed}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
Expand All @@ -220,6 +230,11 @@
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
To="1"
Duration="0" />
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetName="PART_Content"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0%" Value="{x:Static Visibility.Visible}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>

Expand All @@ -233,6 +248,11 @@
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
To="0"
Duration="0" />
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetName="PART_Content"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="100%" Value="{x:Static Visibility.Collapsed}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>

Expand Down Expand Up @@ -271,18 +291,19 @@
<Grid.LayoutTransform>
<RotateTransform Angle="{Binding Path=ExpandDirection, RelativeSource={RelativeSource AncestorType=Expander}, Converter={StaticResource ExpanderRotateAngleConverter}, ConverterParameter=-1}"/>
</Grid.LayoutTransform>

<ContentPresenter Name="PART_Content" Focusable="False"
Visibility="Collapsed"
ContentTemplate="{TemplateBinding ContentTemplate}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"/>

</Grid>
</Border>

</DockPanel>
</Border>
<ControlTemplate.Triggers>

<Trigger Property="ExpandDirection" Value="Right">
<Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Left"/>
<Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource MaterialDesignVerticalHeaderStyle}"/>
Expand Down

0 comments on commit 0c87790

Please sign in to comment.