diff --git a/iNKORE.UI.WPF.Modern.sln b/iNKORE.UI.WPF.Modern.sln
index a1b3d732..49732794 100644
--- a/iNKORE.UI.WPF.Modern.sln
+++ b/iNKORE.UI.WPF.Modern.sln
@@ -51,9 +51,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowExample", "samples\Wi
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IconKeyFileMaker", "tools\IconKeyFileMaker\IconKeyFileMaker.csproj", "{6561632F-0B5A-4869-8C82-E05238326B32}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExamplePhotoTaker", "sample\ExamplePhotoTaker\ExamplePhotoTaker.csproj", "{194059C8-5CBF-4548-8216-3D251CE43236}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExamplePhotoTaker", "samples\ExamplePhotoTaker\ExamplePhotoTaker.csproj", "{194059C8-5CBF-4548-8216-3D251CE43236}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Acrylic10Example", "samples\Acrylic10Example\Acrylic10Example.csproj", "{84C80EA6-0F9C-49CF-AB66-5696CC888CA7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NavigationViewExample", "samples\NavigationViewExample\NavigationViewExample.csproj", "{F9951C10-6C42-4E5F-BAB2-381C17D4DE35}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acrylic10Example", "samples\Acrylic10Example\Acrylic10Example.csproj", "{84C80EA6-0F9C-49CF-AB66-5696CC888CA7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -329,6 +331,26 @@ Global
{194059C8-5CBF-4548-8216-3D251CE43236}.Release|x64.Build.0 = Release|Any CPU
{194059C8-5CBF-4548-8216-3D251CE43236}.Release|x86.ActiveCfg = Release|Any CPU
{194059C8-5CBF-4548-8216-3D251CE43236}.Release|x86.Build.0 = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|ARM.Build.0 = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|x64.Build.0 = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Debug|x86.Build.0 = Debug|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|ARM.ActiveCfg = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|ARM.Build.0 = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|ARM64.Build.0 = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|x64.ActiveCfg = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|x64.Build.0 = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|x86.ActiveCfg = Release|Any CPU
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35}.Release|x86.Build.0 = Release|Any CPU
{84C80EA6-0F9C-49CF-AB66-5696CC888CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84C80EA6-0F9C-49CF-AB66-5696CC888CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84C80EA6-0F9C-49CF-AB66-5696CC888CA7}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -366,6 +388,7 @@ Global
{936F7656-B5E8-44A8-8560-D954E1E68383} = {A96F98E9-18B5-4863-8F28-9B7BDF70A128}
{6561632F-0B5A-4869-8C82-E05238326B32} = {07337569-6CA9-4BB0-9C8F-962D981CB5F4}
{194059C8-5CBF-4548-8216-3D251CE43236} = {A96F98E9-18B5-4863-8F28-9B7BDF70A128}
+ {F9951C10-6C42-4E5F-BAB2-381C17D4DE35} = {A96F98E9-18B5-4863-8F28-9B7BDF70A128}
{84C80EA6-0F9C-49CF-AB66-5696CC888CA7} = {A96F98E9-18B5-4863-8F28-9B7BDF70A128}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/samples/ExamplePhotoTaker/ExamplePhotoTaker.csproj b/samples/ExamplePhotoTaker/ExamplePhotoTaker.csproj
index 3966b293..0c297202 100644
--- a/samples/ExamplePhotoTaker/ExamplePhotoTaker.csproj
+++ b/samples/ExamplePhotoTaker/ExamplePhotoTaker.csproj
@@ -8,9 +8,17 @@
true
+
+
+
+
+
+
+
+
diff --git a/samples/ExamplePhotoTaker/MainWindow.xaml b/samples/ExamplePhotoTaker/MainWindow.xaml
index 865703cb..373da19f 100644
--- a/samples/ExamplePhotoTaker/MainWindow.xaml
+++ b/samples/ExamplePhotoTaker/MainWindow.xaml
@@ -4,8 +4,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ExamplePhotoTaker" xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
- mc:Ignorable="d"
- Title="MainWindow" Height="450" Width="800">
+ mc:Ignorable="d" ui:WindowHelper.UseModernWindowStyle="True"
+ Title="MainWindow" Height="450" Width="800" Language="en-US">
@@ -17,12 +17,35 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/ExamplePhotoTaker/MainWindow.xaml.cs b/samples/ExamplePhotoTaker/MainWindow.xaml.cs
index 63cb3f4e..5f6d19a5 100644
--- a/samples/ExamplePhotoTaker/MainWindow.xaml.cs
+++ b/samples/ExamplePhotoTaker/MainWindow.xaml.cs
@@ -60,14 +60,6 @@ private void Button_SaveScreenshot_Click(object sender, RoutedEventArgs e)
}
}
}
-
- private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
- {
- Process.Start(new ProcessStartInfo("https://inkore.net/")
- {
- UseShellExecute = true
- });
- }
}
class VacationSpots : ObservableCollection
diff --git a/samples/ExamplePhotoTaker/david-van-dijk-3LTht2nxd34-unsplash.jpg b/samples/ExamplePhotoTaker/david-van-dijk-3LTht2nxd34-unsplash.jpg
new file mode 100644
index 00000000..999a3b28
Binary files /dev/null and b/samples/ExamplePhotoTaker/david-van-dijk-3LTht2nxd34-unsplash.jpg differ
diff --git a/samples/NavigationViewExample/App.xaml b/samples/NavigationViewExample/App.xaml
new file mode 100644
index 00000000..1a886647
--- /dev/null
+++ b/samples/NavigationViewExample/App.xaml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/NavigationViewExample/App.xaml.cs b/samples/NavigationViewExample/App.xaml.cs
new file mode 100644
index 00000000..bae5a7d8
--- /dev/null
+++ b/samples/NavigationViewExample/App.xaml.cs
@@ -0,0 +1,14 @@
+using System.Configuration;
+using System.Data;
+using System.Windows;
+
+namespace NavigationViewExample
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+
+}
diff --git a/samples/NavigationViewExample/AssemblyInfo.cs b/samples/NavigationViewExample/AssemblyInfo.cs
new file mode 100644
index 00000000..b0ec8275
--- /dev/null
+++ b/samples/NavigationViewExample/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/samples/NavigationViewExample/MainWindow.xaml b/samples/NavigationViewExample/MainWindow.xaml
new file mode 100644
index 00000000..aeec9023
--- /dev/null
+++ b/samples/NavigationViewExample/MainWindow.xaml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/NavigationViewExample/MainWindow.xaml.cs b/samples/NavigationViewExample/MainWindow.xaml.cs
new file mode 100644
index 00000000..9c81072d
--- /dev/null
+++ b/samples/NavigationViewExample/MainWindow.xaml.cs
@@ -0,0 +1,60 @@
+using iNKORE.UI.WPF.Modern.Controls;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Page = iNKORE.UI.WPF.Modern.Controls.Page;
+
+namespace NavigationViewExample
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ public Pages.AppsPage Page_Apps = new Pages.AppsPage();
+ public Pages.HomePage Page_Home = new Pages.HomePage();
+ public Pages.GamesPage Page_Games = new Pages.GamesPage();
+
+ private void NavigationView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
+ {
+ var item = sender.SelectedItem;
+ Page? page = null;
+
+ if(item == NavigationViewItem_Home)
+ {
+ page = Page_Home;
+ }
+ else if (item == NavigationViewItem_Games)
+ {
+ page = Page_Games;
+ }
+ else if (item == NavigationViewItem_Apps)
+ {
+ page = Page_Apps;
+ }
+
+ if(page != null)
+ {
+ NavigationView_Root.Header = page.Title;
+ Frame_Main.Navigate(page);
+ }
+ }
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ NavigationView_Root.SelectedItem = NavigationViewItem_Home;
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/NavigationViewExample/NavigationViewExample.csproj b/samples/NavigationViewExample/NavigationViewExample.csproj
new file mode 100644
index 00000000..459fade1
--- /dev/null
+++ b/samples/NavigationViewExample/NavigationViewExample.csproj
@@ -0,0 +1,17 @@
+
+
+
+ WinExe
+ net6.0-windows10.0.18362.0
+ enable
+ enable
+ true
+ 7.0
+
+
+
+
+
+
+
+
diff --git a/samples/NavigationViewExample/Pages/AppsPage.xaml b/samples/NavigationViewExample/Pages/AppsPage.xaml
new file mode 100644
index 00000000..c75dc1b5
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/AppsPage.xaml
@@ -0,0 +1,15 @@
+
+
+
+ Current Page: Apps
+
+
diff --git a/samples/NavigationViewExample/Pages/AppsPage.xaml.cs b/samples/NavigationViewExample/Pages/AppsPage.xaml.cs
new file mode 100644
index 00000000..b59d0541
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/AppsPage.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Page = iNKORE.UI.WPF.Modern.Controls.Page;
+
+namespace NavigationViewExample.Pages
+{
+ ///
+ /// Interaction logic for AppsPage.xaml
+ ///
+ public partial class AppsPage : Page
+ {
+ public AppsPage()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/samples/NavigationViewExample/Pages/GamesPage.xaml b/samples/NavigationViewExample/Pages/GamesPage.xaml
new file mode 100644
index 00000000..69fd04dc
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/GamesPage.xaml
@@ -0,0 +1,16 @@
+
+
+
+ Current Page: Games
+
+
+
\ No newline at end of file
diff --git a/samples/NavigationViewExample/Pages/GamesPage.xaml.cs b/samples/NavigationViewExample/Pages/GamesPage.xaml.cs
new file mode 100644
index 00000000..3effd6b8
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/GamesPage.xaml.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Page = iNKORE.UI.WPF.Modern.Controls.Page;
+
+
+namespace NavigationViewExample.Pages
+{
+ ///
+ /// Interaction logic for GamesPage.xaml
+ ///
+ public partial class GamesPage : Page
+ {
+ public GamesPage()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/samples/NavigationViewExample/Pages/HomePage.xaml b/samples/NavigationViewExample/Pages/HomePage.xaml
new file mode 100644
index 00000000..03014d76
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/HomePage.xaml
@@ -0,0 +1,15 @@
+
+
+
+ Current Page: Home
+
+
diff --git a/samples/NavigationViewExample/Pages/HomePage.xaml.cs b/samples/NavigationViewExample/Pages/HomePage.xaml.cs
new file mode 100644
index 00000000..271dd9c6
--- /dev/null
+++ b/samples/NavigationViewExample/Pages/HomePage.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Page = iNKORE.UI.WPF.Modern.Controls.Page;
+
+namespace NavigationViewExample.Pages
+{
+ ///
+ /// Interaction logic for HomePage.xaml
+ ///
+ public partial class HomePage : Page
+ {
+ public HomePage()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/source/iNKORE.UI.WPF.Modern/Controls/Primitives/TitleBar.cs b/source/iNKORE.UI.WPF.Modern/Controls/Primitives/TitleBar.cs
index 2e8901af..6948aa55 100644
--- a/source/iNKORE.UI.WPF.Modern/Controls/Primitives/TitleBar.cs
+++ b/source/iNKORE.UI.WPF.Modern/Controls/Primitives/TitleBar.cs
@@ -367,7 +367,7 @@ internal static void SetSystemOverlayRightInset(Window window, double value)
"Height",
typeof(double),
typeof(TitleBar),
- new PropertyMetadata(32d));
+ new PropertyMetadata(36d));
public static double GetHeight(Window window)