Skip to content

Commit 0c87790

Browse files
Optimize Expander (#2579)
Change visibility depending on expander state to improve loading times
1 parent 04d718d commit 0c87790

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@
189189
<CubicEase EasingMode="EaseInOut"/>
190190
</DoubleAnimation.EasingFunction>
191191
</DoubleAnimation>
192+
<ObjectAnimationUsingKeyFrames Duration="0:0:0"
193+
Storyboard.TargetName="PART_Content"
194+
Storyboard.TargetProperty="Visibility">
195+
<DiscreteObjectKeyFrame KeyTime="0%" Value="{x:Static Visibility.Visible}"/>
196+
</ObjectAnimationUsingKeyFrames>
192197
</Storyboard>
193198
</VisualTransition>
194199

@@ -206,6 +211,11 @@
206211
<CubicEase EasingMode="EaseInOut"/>
207212
</DoubleAnimation.EasingFunction>
208213
</DoubleAnimation>
214+
<ObjectAnimationUsingKeyFrames Duration="{DynamicResource CollapseDuration}"
215+
Storyboard.TargetName="PART_Content"
216+
Storyboard.TargetProperty="Visibility">
217+
<DiscreteObjectKeyFrame KeyTime="100%" Value="{x:Static Visibility.Collapsed}"/>
218+
</ObjectAnimationUsingKeyFrames>
209219
</Storyboard>
210220
</VisualTransition>
211221
</VisualStateGroup.Transitions>
@@ -220,6 +230,11 @@
220230
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
221231
To="1"
222232
Duration="0" />
233+
<ObjectAnimationUsingKeyFrames Duration="0"
234+
Storyboard.TargetName="PART_Content"
235+
Storyboard.TargetProperty="Visibility">
236+
<DiscreteObjectKeyFrame KeyTime="0%" Value="{x:Static Visibility.Visible}"/>
237+
</ObjectAnimationUsingKeyFrames>
223238
</Storyboard>
224239
</VisualState>
225240

@@ -233,6 +248,11 @@
233248
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
234249
To="0"
235250
Duration="0" />
251+
<ObjectAnimationUsingKeyFrames Duration="0"
252+
Storyboard.TargetName="PART_Content"
253+
Storyboard.TargetProperty="Visibility">
254+
<DiscreteObjectKeyFrame KeyTime="100%" Value="{x:Static Visibility.Collapsed}"/>
255+
</ObjectAnimationUsingKeyFrames>
236256
</Storyboard>
237257
</VisualState>
238258

@@ -271,18 +291,19 @@
271291
<Grid.LayoutTransform>
272292
<RotateTransform Angle="{Binding Path=ExpandDirection, RelativeSource={RelativeSource AncestorType=Expander}, Converter={StaticResource ExpanderRotateAngleConverter}, ConverterParameter=-1}"/>
273293
</Grid.LayoutTransform>
274-
294+
275295
<ContentPresenter Name="PART_Content" Focusable="False"
296+
Visibility="Collapsed"
276297
ContentTemplate="{TemplateBinding ContentTemplate}"
277298
ContentStringFormat="{TemplateBinding ContentStringFormat}"
278299
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"/>
279300

280301
</Grid>
281302
</Border>
282-
283303
</DockPanel>
284304
</Border>
285305
<ControlTemplate.Triggers>
306+
286307
<Trigger Property="ExpandDirection" Value="Right">
287308
<Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Left"/>
288309
<Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource MaterialDesignVerticalHeaderStyle}"/>

0 commit comments

Comments
 (0)