I would like to use splitter control in UWP project. But I can't find the splitter control in UWP platform. Is there any other splitter control in UWP?
No the splitter as Control it self is not there.
But you can find here Splitter an turorial to make one in uwp.
Code From Link:
XAML:
<Border x:Name="padResize_NavBar" Grid.Row="1" Grid.Column="0" Height="50" Width="50" HorizontalAlignment="Left" VerticalAlignment="Center" Background="LightGray" IsHitTestVisible="True" Opacity="0.5"
Margin="-25,0,0,0"
PointerPressed="padResize_NavBar_PointerPressed"
PointerEntered="padResize_NavBar_PointerEntered" PointerExited="padResize_NavBar_PointerExited" CornerRadius="25" RequestedTheme="Dark">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" >< ></TextBlock>
</Border>
C#:
#region [Resizing]
//========================< Region: [Resizing] >========================
#region Resizing_Globals
//========================< Resizing_Globals >========================
double ptrPoint_Offset_X = 0;
//private void fl_Check_Resizing_Exit(object sender, PointerRoutedEventArgs e)
//{
// //----------------< fl_Check_Resizing_Exit() >----------------
// if (is_Resizing_Thumbnails == true)
// { fl_Resizing_Stop(); }
// //----------------</ fl_Check_Resizing_Exit() >----------------
//}
//========================</ Resizing_Globals >========================
#endregion
#region Resize Thumbnails
//========================< Resize_Thumbnails >========================
bool is_Resizing_Thumbnails = false;
private void padResize_Thumbnails_PointerEntered(object sender, PointerRoutedEventArgs e)
{
//----------------< btnGridSplitter_ColumnResize_PointerEntered() >----------------
//Color on
padResize_Thumbnails.Opacity = 1;
//----------------</ btnGridSplitter_ColumnResize_PointerEntered() >----------------
}
private void padResize_Thumbnails_PointerPressed(object sender, PointerRoutedEventArgs e)
{
//----------------< btnGridSplitter_ColumnResize_PointerPressed() >----------------
//set StartFlag
if (is_Resizing_Thumbnails == false)
{
//*start only once. Pressed is called every time
is_Resizing_Thumbnails = true;
ptrPoint_Offset_X = e.GetCurrentPoint(padResize_Thumbnails).Position.X;
}
// ----------------</ btnGridSplitter_ColumnResize_PointerPressed() > ----------------
}
private void padResize_Thumbnails_PointerMoved(object sender, PointerRoutedEventArgs e)
{
//----------------< btnGridSplitter_ColumnResize_PointerMoved() >----------------
if (is_Resizing_Thumbnails == true)
{
//< Get Pointer and Point >
Windows.UI.Xaml.Input.Pointer ptr = e.Pointer;
Windows.UI.Input.PointerPoint ptrPoint = e.GetCurrentPoint(GridShow);
Windows.UI.Input.PointerPoint ptrPoint_Offset = e.GetCurrentPoint(padResize_Thumbnails);
//</ Get Pointer and Point >
//--< check if Mouse is released >--
//--< Check Mouse >--
if (ptr.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
{
//-< check left mouse >-
if (ptrPoint.Properties.IsLeftButtonPressed == false)
{
//< released >
//*if release then stop resizing
fl_Resizing_Thumbnails_Stop();
return;
//</ released>
}
//-</ check left mouse click >-
}
//--< check mouse click >--
//--</ check if mouse is released >--
//< get Point >
//*relativ to GridShow
double posX = ptrPoint.Position.X - ptrPoint_Offset_X;
if (posX < 0) posX = 0;
//</ get Point >
//-< set Column-With >-
colThumbnails.Width = new GridLength(posX);
//-</ set Column-With >-
tbxStatus.Text = "ptrPoint.Position=" + ptrPoint.Position.X + " Offset=" + ptrPoint_Offset_X;
}
//----------------</ btnGridSplitter_ColumnResize_PointerMoved() >----------------
}
private void padResize_Thumbnails_PointerExited(object sender, PointerRoutedEventArgs e)
{
//----------------< btnGridSplitter_ColumnResize_PointerExited() >----------------
//Color off
padResize_Thumbnails.Opacity = 0.3;
//----------------</ btnGridSplitter_ColumnResize_PointerExited() >----------------
}
private void fl_Resizing_Thumbnails_Stop(object sender, PointerRoutedEventArgs e)
{
//----------------< fl_Resizing_Column_Stop() >----------------
//*event from XAML
fl_Resizing_Thumbnails_Stop();
//----------------</ fl_Resizing_Column_Stop() >----------------
}
private void fl_Resizing_Thumbnails_Stop()
{
//< marker on >
is_Resizing_Thumbnails = false;
//</ marker off >
//< Setting save>
Windows.Storage.ApplicationData.Current.LocalSettings.Values["actColumn_Thumbnails"] = colNavBar.ActualWidth;
//</ Setting save>
//----------------</ fl_Resizing_Column_Stop() >----------------
}
//========================</ Resize Thumbnails >========================
#endregion
#region Resize Navbar
//========================< Resize_NavBar >========================
bool is_Resizing_NavBar = false;
private void padResize_NavBar_PointerEntered(object sender, PointerRoutedEventArgs e)
{
//----------------< padResize_NavBar_PointerEntered() >----------------
//Color on
padResize_NavBar.Opacity = 1;
//----------------</ padResize_NavBar_PointerEntered() >----------------
}
private void padResize_NavBar_PointerPressed(object sender, PointerRoutedEventArgs e)
{
//----------------< padResize_NavBar_PointerPressed() >----------------
//set StartFlag
if (is_Resizing_NavBar == false)
{
//*start only once pressed is called every time
is_Resizing_NavBar = true;
ptrPoint_Offset_X = e.GetCurrentPoint(padResize_NavBar).Position.X;
}
// ----------------</ padResize_NavBar_PointerPressed() > ----------------
}
private void padResize_NavBar_PointerMoved(object sender, PointerRoutedEventArgs e)
{
//----------------< padResize_NavBar_PointerMoved() >----------------
if (is_Resizing_NavBar == true)
{
//< Pointer and Point check>
Windows.UI.Xaml.Input.Pointer ptr = e.Pointer;
Windows.UI.Input.PointerPoint ptrPoint = e.GetCurrentPoint(BaseGrid);
Windows.UI.Input.PointerPoint ptrPoint_Offset = e.GetCurrentPoint(padResize_NavBar);
//</ Pointer and Point check>
//--< check mouse released >--
//--< Mouse Click check>--
if (ptr.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
{
//-< check left mouseclick >-
if (ptrPoint.Properties.IsLeftButtonPressed == false)
{
//< released>
//*if relesed stop resicing
fl_Resizing_NavBar_Stop();
return;
//</ released>
}
//-</ check left mouse >-
}
//--< Mouse click check >--
//--</ check if mouse is released >--
//< get Point >
//*relativ to GridShow
double posX = ptrPoint.Position.X - ptrPoint_Offset_X;
if (posX < 10) posX = 10;
//</ get Point >
//-< set Column-With >-
colNavBar.Width = new GridLength(posX);
//-</ set Column-With >-
tbxStatus.Text = "ptrPoint.Position=" + ptrPoint.Position.X + " Offset=" + ptrPoint_Offset_X;
}
//----------------</ btnGridSplitter_ColumnResize_PointerMoved() >----------------
}
private void padResize_NavBar_PointerExited(object sender, PointerRoutedEventArgs e)
{
//----------------< padResize_NavBar_PointerExited() >----------------
//Farbe ausschalten
padResize_NavBar.Opacity = 0.3;
//----------------</ padResize_NavBar_PointerExited() >----------------
}
private void fl_Resizing_NavBar_Stop(object sender, PointerRoutedEventArgs e)
{
fl_Resizing_NavBar_Stop();
}
private void fl_Resizing_NavBar_Stop()
{
//< marker off >
is_Resizing_NavBar = false;
//</ marker off >
//< Setting save>
Windows.Storage.ApplicationData.Current.LocalSettings.Values["actColumn_NavBar"] = colNavBar.ActualWidth;
//</ Setting speichern >
//----------------</ fl_Resizing_Column_Stop() >----------------
}
//========================</ Resize_NavBar >========================
#endregion
//========================</ Region: [Resizing] >========================
#endregion