Custom title bar
- adds style.
- adds logic to the hamburger button.
Change-Id: Ieda5f8224bdcb1ab1c666d83c258a9d4f212e536
diff --git a/App.xaml.cpp b/App.xaml.cpp
index deb390e..c89f423 100644
--- a/App.xaml.cpp
+++ b/App.xaml.cpp
@@ -22,9 +22,11 @@
using namespace Windows::ApplicationModel::Core;
using namespace Windows::Foundation;
using namespace Windows::Graphics::Display;
+using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Interop;
+using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::ViewManagement;
using namespace RingClientUWP;
@@ -49,4 +51,11 @@
Window::Current->Activate();
} else
rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments);
+
+ CoreApplication::GetCurrentView()->TitleBar->ExtendViewIntoTitleBar = true;
+ ApplicationView::GetForCurrentView()->TitleBar->ButtonBackgroundColor = Colors::LightBlue;
+ ApplicationView::GetForCurrentView()->TitleBar->ButtonInactiveBackgroundColor = Colors::LightBlue;
+ ApplicationView::GetForCurrentView()->TitleBar->ForegroundColor = Colors::White;
+ ApplicationView::GetForCurrentView()->TitleBar->ButtonForegroundColor = Colors::White;
+
}
\ No newline at end of file
diff --git a/MainPage.xaml b/MainPage.xaml
index 199583c..7f30376 100644
--- a/MainPage.xaml
+++ b/MainPage.xaml
@@ -23,8 +23,33 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
- <SplitView x:Name="_outerSplitView_"
- IsPaneOpen="False">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="32"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+ <Grid Canvas.ZIndex="2" Grid.Row="0" Background="LightBlue">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="50"/>
+ <ColumnDefinition Width="*"/>
+ </Grid.ColumnDefinitions>
+ <!-- hamburger button. -->
+ <Button x:Name="_toggleSmartBoxButton_"
+ Grid.Row="0"
+ Content=""
+ Click="_toggleSmartBoxButton__Click"
+ HorizontalAlignment="Center"
+ Style="{StaticResource ButtonStyle2}"/>
+ <!-- _titleBar_ is used to move the window. -->
+ <Rectangle x:Name="_titleBar_"
+ Grid.Column="1"
+ Height="32"
+ VerticalAlignment="Top"
+ Fill="Transparent"/>
+ </Grid>
+ <SplitView x:Name="_outerSplitView_"
+ Grid.Row="1"
+ IsPaneOpen="False">
<SplitView.Pane>
<Frame x:Name="_consolePanel_"/>
</SplitView.Pane>
@@ -48,4 +73,5 @@
</SplitView>
</SplitView.Content>
</SplitView>
+ </Grid>
</Page>
diff --git a/MainPage.xaml.cpp b/MainPage.xaml.cpp
index 73165dc..2cc2fd3 100644
--- a/MainPage.xaml.cpp
+++ b/MainPage.xaml.cpp
@@ -27,6 +27,7 @@
using namespace RingClientUWP::Views;
using namespace Platform;
+using namespace Windows::ApplicationModel::Core;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::ViewManagement;
@@ -37,7 +38,6 @@
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Interop;
-using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;
using namespace Windows::ApplicationModel::Activation;
using namespace Windows::Graphics::Display;
@@ -47,6 +47,8 @@
{
InitializeComponent();
+ Window::Current->SetTitleBar(_titleBar_);
+
_welcomeFrame_->Navigate(TypeName(RingClientUWP::Views::WelcomePage::typeid));
_smartPanel_->Navigate(TypeName(RingClientUWP::Views::SmartPanel::typeid));
_consolePanel_->Navigate(TypeName(RingClientUWP::Views::RingConsolePanel::typeid));
@@ -59,4 +61,9 @@
_outerSplitView_->OpenPaneLength = Window::Current->Bounds.Width;
_outerSplitView_->IsPaneOpen = !_outerSplitView_->IsPaneOpen;
}
-}
\ No newline at end of file
+}
+
+void RingClientUWP::MainPage::_toggleSmartBoxButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
+{
+ _innerSplitView_->IsPaneOpen = !_innerSplitView_->IsPaneOpen;
+}
diff --git a/MainPage.xaml.h b/MainPage.xaml.h
index 0d04df2..868add8 100644
--- a/MainPage.xaml.h
+++ b/MainPage.xaml.h
@@ -31,5 +31,7 @@
protected:
virtual void OnKeyDown(KeyRoutedEventArgs^ e) override;
+private:
+ void _toggleSmartBoxButton__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
};
}
\ No newline at end of file
diff --git a/Styles.xaml b/Styles.xaml
index c3719da..ba4e5cd 100644
--- a/Styles.xaml
+++ b/Styles.xaml
@@ -27,7 +27,30 @@
<Setter Property="Foreground"
Value="Black"/>
</Style>
-
+ <Style x:Key="ButtonStyle1"
+ TargetType="Button">
+ <Setter Property="Width"
+ Value="50"/>
+ <Setter Property="Height"
+ Value="50"/>
+ <Setter Property="FontFamily"
+ Value="Segoe MDL2 Assets"/>
+ <Setter Property="Foreground"
+ Value="White"/>
+ </Style>
+ <Style x:Key="ButtonStyle2"
+ TargetType="Button">
+ <Setter Property="Width"
+ Value="50"/>
+ <Setter Property="Height"
+ Value="30"/>
+ <Setter Property="FontFamily"
+ Value="Segoe MDL2 Assets"/>
+ <Setter Property="Foreground"
+ Value="White"/>
+ <Setter Property="Background"
+ Value="Transparent"/>
+ </Style>
<!-- styles for the console -->
<Style x:Key="ConsoleScrollViewerStyle"
TargetType="ScrollViewer">