UWP SplitView
The SplitView class represents a container with two views. One view is
for the main content and another view is typically used for navigation
commands. The following UWP app development tutorial will demonstrate how we
can use SplitView control in our app.
The UWP app developers use a SplitView control to present two areas, one is a Pane and another one is the main Content. The developers commonly put a SplitView to create a top-level navigation user experience that adapts to different screen widths following the nav pane pattern or the master and details pattern.
The SplitView’s Content area is always present and it can contain a single child element, which is normally a Panel that contains additional child elements. The Content can be completely covered by the Pane.
The SplitView class’s IsPaneOpen property gets or sets a value that specifies whether the SplitView pane is expanded to its full width. This property value is a Boolean.
The SplitView class’s CompactPaneLength property gets or sets the width of the SplitView pane in its compact display mode. The default value is 48 DIP.
The SplitView class’s OpenPaneLength property gets or sets the width of the SplitView pane when it's fully expanded. The default value of this property is 320 DIP.The SplitView class’s DisplayMode property gets or sets a value that specifies how the pane and content areas of a SplitView are shown. This property value is a SplitViewDisplayMode enumeration value. The default value of this property is Overlay.
The SplitView class’s PanePlacement property gets or sets a value that specifies whether the pane is shown on the right or left side of the SplitView.
The UWP app developers use a SplitView control to present two areas, one is a Pane and another one is the main Content. The developers commonly put a SplitView to create a top-level navigation user experience that adapts to different screen widths following the nav pane pattern or the master and details pattern.
The SplitView’s Content area is always present and it can contain a single child element, which is normally a Panel that contains additional child elements. The Content can be completely covered by the Pane.
The SplitView class’s IsPaneOpen property gets or sets a value that specifies whether the SplitView pane is expanded to its full width. This property value is a Boolean.
The SplitView class’s CompactPaneLength property gets or sets the width of the SplitView pane in its compact display mode. The default value is 48 DIP.
The SplitView class’s OpenPaneLength property gets or sets the width of the SplitView pane when it's fully expanded. The default value of this property is 320 DIP.The SplitView class’s DisplayMode property gets or sets a value that specifies how the pane and content areas of a SplitView are shown. This property value is a SplitViewDisplayMode enumeration value. The default value of this property is Overlay.
The SplitView class’s PanePlacement property gets or sets a value that specifies whether the pane is shown on the right or left side of the SplitView.
MainPage.xaml
<Page
x:Class="UniversalAppTutorials.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UniversalAppTutorials"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
>
<SplitView
x:Name="SplitView1"
DisplayMode="CompactOverlay"
Background="CornflowerBlue"
IsPaneOpen="False"
CompactPaneLength="75"
OpenPaneLength="200"
Margin="50"
>
<SplitView.Pane>
<StackPanel
Orientation="Vertical"
Background="LightSkyBlue"
Padding="20"
>
<Button
x:Name="HamburgerButton"
FontFamily="Segoe MDL2 Assets"
Content=""
Background="Transparent"
Click="HamburgerButton_Click"
Margin="5"
Padding="5"
/>
<Button x:Name="ButtonSave" Margin="5">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Save"/>
<TextBlock Text="Save" Margin="10,0,0,0"/>
</StackPanel>
</Button>
<Button x:Name="ButtonPaste" Margin="5">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Paste"/>
<TextBlock Text="Paste" Margin="10,0,0,0"/>
</StackPanel>
</Button>
<Button x:Name="ButtonCopy" Margin="5">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Copy"/>
<TextBlock Text="Copy" Margin="10,0,0,0"/>
</StackPanel>
</Button>
<Button x:Name="ButtonCut" Margin="5">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Cut"/>
<TextBlock Text="Cut" Margin="10,0,0,0"/>
</StackPanel>
</Button>
</StackPanel>
</SplitView.Pane>
<SplitView.Content>
<StackPanel
Background="PaleGreen"
Padding="20"
VerticalAlignment="Center"
Margin="50"
>
<TextBlock
Text="Content of SplitView"
FontSize="20"
TextWrapping="Wrap"
/>
</StackPanel>
</SplitView.Content>
</SplitView>
</Page>
MainPage.xaml.cs
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml;
namespace UniversalAppTutorials
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void HamburgerButton_Click(object sender, RoutedEventArgs e) {
// Alter the pane close open state
SplitView1.IsPaneOpen = !SplitView1.IsPaneOpen;
}
}
}
