Created
October 24, 2015 06:54
-
-
Save startewho/9c9258a5abf07f1c1fdb to your computer and use it in GitHub Desktop.
ExtendSplitView
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1.Control behind code: | |
public sealed class ExtendSplitView : SplitView | |
{ | |
public ExtendSplitView() | |
{ | |
this.DefaultStyleKey = typeof(ExtendSplitView); | |
} | |
public double MinBottomWidth | |
{ | |
get { return (double)GetValue(MinBottomWidthProperty); } | |
set { SetValue(MinBottomWidthProperty, value); } | |
} | |
// Using a DependencyProperty as the backing store for MinBottomWidth. This enables animation, styling, binding, etc... | |
public static readonly DependencyProperty MinBottomWidthProperty = | |
DependencyProperty.Register("MinBottomWidth", typeof(double), typeof(ExtendSplitView), new PropertyMetadata(0)); | |
public Grid BottomGrid | |
{ | |
get { return (Grid)GetValue(BottomGridProperty); } | |
set { SetValue(BottomGridProperty, value); } | |
} | |
// Using a DependencyProperty as the backing store for BottomGrid. This enables animation, styling, binding, etc... | |
public static readonly DependencyProperty BottomGridProperty = | |
DependencyProperty.Register("BottomGrid", typeof(Grid), typeof(ExtendSplitView), new PropertyMetadata(0)); | |
} | |
2.Style: | |
<Style TargetType="controls:ExtendSplitView" > | |
<Setter Property="HorizontalContentAlignment" Value="Stretch"/> | |
<Setter Property="VerticalContentAlignment" Value="Stretch"/> | |
<Setter Property="OpenPaneLength" Value="{ThemeResource SplitViewOpenPaneThemeLength}"/> | |
<Setter Property="CompactPaneLength" Value="{ThemeResource SplitViewCompactPaneThemeLength}"/> | |
<Setter Property="PaneBackground" Value="{ThemeResource SystemControlPageBackgroundChromeLowBrush}"/> | |
<Setter Property="Template"> | |
<Setter.Value> | |
<ControlTemplate TargetType="controls:ExtendSplitView"> | |
<Grid Background="{TemplateBinding Background}"> | |
<VisualStateManager.VisualStateGroups> | |
<VisualStateGroup x:Name="DisplayModeStates"> | |
<VisualStateGroup.Transitions> | |
<VisualTransition From="Closed" To="OpenOverlayLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="Closed" To="OpenOverlayRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="ClosedCompactLeft" To="OpenCompactOverlayLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="ClosedCompactRight" To="OpenCompactOverlayRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.35" KeySpline="0.1,0.9 0.2,1.0" | |
Value="0" /> | |
</DoubleAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="OpenOverlayLeft" To="Closed"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="OpenOverlayRight" To="Closed"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="PaneTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="OpenCompactOverlayLeft" To="ClosedCompactLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
<VisualTransition From="OpenCompactOverlayRight" To="ClosedCompactRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimationUsingKeyFrames | |
Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX"> | |
<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0" /> | |
<SplineDoubleKeyFrame KeyTime="0:0:0.12" KeySpline="0.1,0.9 0.2,1.0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}" /> | |
</DoubleAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualTransition> | |
</VisualStateGroup.Transitions> | |
<VisualState x:Name="Closed" /> | |
<VisualState x:Name="ClosedCompactLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimation Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX" | |
To="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.NegativeOpenPaneLengthMinusCompactLength}" | |
Duration="0:0:0" /> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="ClosedCompactRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="2" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<DoubleAnimation Storyboard.TargetName="PaneClipRectangleTransform" | |
Storyboard.TargetProperty="TranslateX" | |
To="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLengthMinusCompactLength}" | |
Duration="0:0:0" /> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenOverlayLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenOverlayRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenInlineLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenInlineRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenCompactOverlayLeft"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
<VisualState x:Name="OpenCompactOverlayRight"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition1" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="*" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ColumnDefinition2" | |
Storyboard.TargetProperty="Width"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" | |
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.CompactPaneGridLength, FallbackValue=0}" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Right" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="HorizontalAlignment"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Left" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HCPaneBorder" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="LightDismissLayer" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
</VisualState> | |
</VisualStateGroup> | |
<VisualStateGroup x:Name="ShowBottomStates"> | |
<VisualState x:Name="ShowBottomMode"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="2" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Row)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.RowSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BottomPane" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
<VisualState.StateTriggers> | |
<AdaptiveTrigger MinWindowWidth ="0"/> | |
</VisualState.StateTriggers> | |
</VisualState> | |
<VisualState x:Name="HideBottomMode"> | |
<Storyboard> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Row)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.Row)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.Column)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentRoot" | |
Storyboard.TargetProperty="(Grid.RowSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="2" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.RowSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="2" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="(Grid.ColumnSpan)"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="BottomPane" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Collapsed" /> | |
</ObjectAnimationUsingKeyFrames> | |
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="PaneRoot" | |
Storyboard.TargetProperty="Visibility"> | |
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Visible" /> | |
</ObjectAnimationUsingKeyFrames> | |
</Storyboard> | |
<VisualState.StateTriggers> | |
<AdaptiveTrigger MinWindowWidth ="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=MinBottomWidth, FallbackValue=0}"/> | |
</VisualState.StateTriggers> | |
</VisualState> | |
</VisualStateGroup> | |
</VisualStateManager.VisualStateGroups> | |
<Grid.ColumnDefinitions> | |
<ColumnDefinition x:Name="ColumnDefinition1" | |
Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneGridLength, FallbackValue=0}" /> | |
<ColumnDefinition x:Name="ColumnDefinition2" Width="*" /> | |
</Grid.ColumnDefinitions> | |
<Grid.RowDefinitions> | |
<RowDefinition x:Name="RowDefinition1" Height="*" /> | |
<RowDefinition x:Name="RowDefinition2" Height="50" /> | |
</Grid.RowDefinitions> | |
<!-- Content Area --> | |
<Grid x:Name="ContentRoot" Grid.ColumnSpan="2" Grid.RowSpan="2" > | |
<Border Child="{TemplateBinding Content}" /> | |
<Rectangle x:Name="LightDismissLayer" Fill="Transparent" Visibility="Collapsed" /> | |
</Grid> | |
<!-- Pane Content Area--> | |
<Grid | |
x:Name="PaneRoot" | |
Grid.RowSpan="2" | |
Grid.ColumnSpan="2" | |
HorizontalAlignment="Left" | |
Visibility="Collapsed" | |
Background="{TemplateBinding PaneBackground}" | |
Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.OpenPaneLength}"> | |
<Grid.Clip> | |
<RectangleGeometry x:Name="PaneClipRectangle"> | |
<RectangleGeometry.Transform> | |
<CompositeTransform x:Name="PaneClipRectangleTransform" /> | |
</RectangleGeometry.Transform> | |
</RectangleGeometry> | |
</Grid.Clip> | |
<Grid.RenderTransform> | |
<CompositeTransform x:Name="PaneTransform" /> | |
</Grid.RenderTransform> | |
<Border Child="{TemplateBinding Pane}" /> | |
<Rectangle | |
x:Name="HCPaneBorder" | |
x:DeferLoadStrategy="Lazy" | |
Visibility="Collapsed" | |
Fill="{ThemeResource SystemControlForegroundTransparentBrush}" | |
Width="1" | |
HorizontalAlignment="Right" /> | |
</Grid> | |
<Grid x:Name="BottomPane" Grid.Row="1" Grid.ColumnSpan="2" Visibility="Collapsed"> | |
<ContentPresenter Content="{TemplateBinding BottomGrid}" /> | |
</Grid> | |
</Grid> | |
</ControlTemplate> | |
</Setter.Value> | |
</Setter> | |
</Style> | |
3.Usage: | |
<controls:ExtendSplitView x:Name="SplitView" DisplayMode="CompactOverlay" MinBottomWidth="700" > | |
<controls:ExtendSplitView.Pane> | |
<ListBox ItemsSource="{Binding MenuItems}" SelectedItem="{Binding SelectedMenuItem, Mode=TwoWay, Converter={StaticResource ObjectToMenuItemConverter}}" ItemContainerStyle="{StaticResource MenuListBoxItemStyle}"> | |
<ListBox.ItemTemplate> | |
<DataTemplate x:DataType="models:MenuItem"> | |
<StackPanel Orientation="Horizontal" Height="48"> | |
<TextBlock Text="{Binding Icon, Mode=OneWay}" Style="{ThemeResource IconTextBlockStyle}" /> | |
<TextBlock Text="{Binding Title, Mode=OneWay}" Style="{ThemeResource MenuTitleTextBlockStyle}" /> | |
</StackPanel> | |
</DataTemplate> | |
</ListBox.ItemTemplate> | |
</ListBox> | |
</controls:ExtendSplitView.Pane> | |
<controls:ExtendSplitView.Content> | |
<Frame x:Name="VMFrame" SourcePageType="{Binding SelectedPageType, Mode=TwoWay}"/> | |
</controls:ExtendSplitView.Content> | |
<controls:ExtendSplitView.BottomGrid> | |
<Grid> | |
<ListView ItemsSource="{Binding MenuItems}" SelectedItem="{Binding SelectedMenuItem, Mode=TwoWay, Converter={StaticResource ObjectToMenuItemConverter}}"> | |
<ListView.ItemsPanel> | |
<ItemsPanelTemplate> | |
<ItemsWrapGrid Orientation="Horizontal"/> | |
</ItemsPanelTemplate> | |
</ListView.ItemsPanel> | |
<ListView.ItemTemplate> | |
<DataTemplate x:DataType="models:MenuItem"> | |
<StackPanel Orientation="Horizontal"> | |
<TextBlock Text="{Binding Icon, Mode=OneWay}" Style="{ThemeResource IconTextBlockStyle}" /> | |
<TextBlock Text="{Binding Title, Mode=OneWay}" Style="{ThemeResource MenuTitleTextBlockStyle}" /> | |
</StackPanel> | |
</DataTemplate> | |
</ListView.ItemTemplate> | |
</ListView> | |
</Grid> | |
</controls:ExtendSplitView.BottomGrid> | |
</controls:ExtendSplitView> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment