Skip to content

[DRAFT] MainWindow.xaml with new TitleBar + TitleBar samples #1797

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 32 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
25c6b3f
Move helpers out of App.xaml.cs
niels9001 Mar 7, 2025
08b7d45
Update NugetPackages
niels9001 Mar 7, 2025
b4e2d9e
Adding MainWindow and new TitleBar
niels9001 Mar 8, 2025
aab5828
Update MainWindow.xaml
niels9001 Mar 8, 2025
fe95f1e
Changes
niels9001 Mar 8, 2025
78dc9e5
Merge branch 'main' into niels9001/titlebar
niels9001 Mar 8, 2025
88df92e
Updating packages
niels9001 Mar 10, 2025
0a4aa1f
Merge branch 'main' into niels9001/titlebar
niels9001 Mar 10, 2025
5a5ff36
Making it build again
niels9001 Mar 12, 2025
a3b8bcc
Enabling reflection for OnNavigatedFrom
niels9001 Mar 12, 2025
0e6b535
Update NavigationHelper.cs
niels9001 Mar 12, 2025
7430ae8
Moving window related code to MainWindow
niels9001 Mar 12, 2025
b1de526
Removing unused code and fixing searchbox alignment
niels9001 Mar 12, 2025
91922d7
Update MainWindow.xaml.cs
niels9001 Mar 12, 2025
afe1332
Remove unused usings
niels9001 Mar 12, 2025
6c46371
Revert back horizontal stretch for TitleBar
niels9001 Mar 12, 2025
ac20066
Adding TitleBar samples
niels9001 Mar 12, 2025
a62f63c
Update TitleBarWindow.xaml
niels9001 Mar 12, 2025
9c52be5
TitleBarHeightOption
niels9001 Mar 12, 2025
fe8c29d
Update WinUIGallery/Samples/Data/ControlInfoData.json
niels9001 Mar 12, 2025
5696e0c
Merge branch 'main' into niels9001/titlebar
niels9001 Mar 12, 2025
e5b25fd
Merge branch 'main' into niels9001/titlebar
niels9001 Mar 19, 2025
486d7d1
Update standalone.props
niels9001 Mar 19, 2025
aa554bf
Merge branch 'niels9001/titlebar' of https://github.com/microsoft/Win…
niels9001 Mar 19, 2025
5f3736c
Address new API naming
niels9001 Mar 19, 2025
b34c45a
Fix style
niels9001 Mar 19, 2025
f519976
Merge branch 'main' into niels9001/titlebar
niels9001 Apr 7, 2025
6b73f33
Update MainWindow.xaml
niels9001 Apr 7, 2025
fcf6a92
Update TitleBar.xaml
niels9001 Apr 7, 2025
c226f69
Merge branch 'main' into niels9001/titlebar
niels9001 Apr 16, 2025
1c7ee33
Remove unused code
niels9001 Apr 16, 2025
5f87f62
Update AcrylicPage.xaml.cs
niels9001 Apr 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 50 additions & 2 deletions WinUIGallery.sln
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32319.34
Expand All @@ -21,25 +21,31 @@ Global
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Debug-Unpackaged|ARM64 = Debug-Unpackaged|ARM64
Debug-Unpackaged|ARM64EC = Debug-Unpackaged|ARM64EC
Debug-Unpackaged|x64 = Debug-Unpackaged|x64
Debug-Unpackaged|x86 = Debug-Unpackaged|x86
Preview|ARM64 = Preview|ARM64
Preview|ARM64EC = Preview|ARM64EC
Preview|x64 = Preview|x64
Preview|x86 = Preview|x86
Release|ARM64 = Release|ARM64
Release|ARM64EC = Release|ARM64EC
Release|x64 = Release|x64
Release|x86 = Release|x86
Release-Unpackaged|ARM64 = Release-Unpackaged|ARM64
Release-Unpackaged|ARM64EC = Release-Unpackaged|ARM64EC
Release-Unpackaged|x64 = Release-Unpackaged|x64
Release-Unpackaged|x86 = Release-Unpackaged|x86
Sideload|ARM64 = Sideload|ARM64
Sideload|ARM64EC = Sideload|ARM64EC
Sideload|x64 = Sideload|x64
Sideload|x86 = Sideload|x86
Stable|ARM64 = Stable|ARM64
Stable|ARM64EC = Stable|ARM64EC
Stable|x64 = Stable|x64
Stable|x86 = Stable|x86
Store|ARM64 = Store|ARM64
Store|ARM64EC = Store|ARM64EC
Store|x64 = Store|x64
Store|x86 = Store|x86
EndGlobalSection
Expand All @@ -58,13 +64,18 @@ Global
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug|x86.Deploy.0 = Debug|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|ARM64.ActiveCfg = Debug-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|ARM64.Build.0 = Debug-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|ARM64EC.ActiveCfg = Debug-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|ARM64EC.Build.0 = Debug-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|ARM64EC.Deploy.0 = Debug-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|x64.ActiveCfg = Debug-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|x64.Build.0 = Debug-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|x86.ActiveCfg = Debug-Unpackaged|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Debug-Unpackaged|x86.Build.0 = Debug-Unpackaged|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|ARM64.ActiveCfg = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|ARM64.Build.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|ARM64.Deploy.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|ARM64EC.ActiveCfg = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|ARM64EC.Build.0 = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|x64.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|x64.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Preview|x64.Deploy.0 = Release-Unpackaged|x64
Expand All @@ -85,13 +96,18 @@ Global
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release|x86.Deploy.0 = Release|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|ARM64.ActiveCfg = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|ARM64.Build.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|ARM64EC.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|ARM64EC.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|ARM64EC.Deploy.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|x64.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|x64.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|x86.ActiveCfg = Release-Unpackaged|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Release-Unpackaged|x86.Build.0 = Release-Unpackaged|x86
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|ARM64.ActiveCfg = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|ARM64.Build.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|ARM64.Deploy.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|ARM64EC.ActiveCfg = Debug|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|ARM64EC.Build.0 = Debug|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|x64.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|x64.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Sideload|x64.Deploy.0 = Release-Unpackaged|x64
Expand All @@ -101,6 +117,8 @@ Global
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|ARM64.ActiveCfg = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|ARM64.Build.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|ARM64.Deploy.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|ARM64EC.ActiveCfg = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|ARM64EC.Build.0 = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|x64.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|x64.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Stable|x64.Deploy.0 = Release-Unpackaged|x64
Expand All @@ -110,6 +128,8 @@ Global
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|ARM64.ActiveCfg = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|ARM64.Build.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|ARM64.Deploy.0 = Release-Unpackaged|ARM64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|ARM64EC.ActiveCfg = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|ARM64EC.Build.0 = Release|ARM64EC
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|x64.ActiveCfg = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|x64.Build.0 = Release-Unpackaged|x64
{D78F3B56-340D-44F0-9AF1-320D473BA611}.Store|x64.Deploy.0 = Release-Unpackaged|x64
Expand All @@ -131,6 +151,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|ARM64.ActiveCfg = Debug|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|ARM64.Build.0 = Debug|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|ARM64.Deploy.0 = Debug|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|ARM64EC.ActiveCfg = Debug|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|ARM64EC.Build.0 = Debug|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|x64.ActiveCfg = Debug|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|x64.Build.0 = Debug|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Debug-Unpackaged|x64.Deploy.0 = Debug|x64
Expand All @@ -140,6 +162,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|ARM64.ActiveCfg = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|ARM64.Build.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|ARM64.Deploy.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|ARM64EC.ActiveCfg = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|ARM64EC.Build.0 = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|x64.ActiveCfg = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|x64.Build.0 = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Preview|x64.Deploy.0 = Release|x64
Expand All @@ -161,6 +185,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|ARM64.ActiveCfg = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|ARM64.Build.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|ARM64.Deploy.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|ARM64EC.ActiveCfg = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|ARM64EC.Build.0 = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|x64.ActiveCfg = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|x64.Build.0 = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Release-Unpackaged|x64.Deploy.0 = Release|x64
Expand All @@ -170,6 +196,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|ARM64.ActiveCfg = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|ARM64.Build.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|ARM64.Deploy.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|ARM64EC.ActiveCfg = Debug|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|ARM64EC.Build.0 = Debug|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|x64.ActiveCfg = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|x64.Build.0 = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Sideload|x64.Deploy.0 = Release|x64
Expand All @@ -179,6 +207,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|ARM64.ActiveCfg = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|ARM64.Build.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|ARM64.Deploy.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|ARM64EC.ActiveCfg = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|ARM64EC.Build.0 = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|x64.ActiveCfg = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|x64.Build.0 = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Stable|x64.Deploy.0 = Release|x64
Expand All @@ -188,6 +218,8 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|ARM64.ActiveCfg = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|ARM64.Build.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|ARM64.Deploy.0 = Release|ARM64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|ARM64EC.ActiveCfg = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|ARM64EC.Build.0 = Release|ARM64EC
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|x64.ActiveCfg = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|x64.Build.0 = Release|x64
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|x64.Deploy.0 = Release|x64
Expand All @@ -196,48 +228,64 @@ Global
{94B9B3F5-AF8E-4401-876B-115C44986161}.Store|x86.Deploy.0 = Release|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|ARM64.ActiveCfg = Debug|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|ARM64.Build.0 = Debug|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|ARM64EC.ActiveCfg = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|ARM64EC.Build.0 = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|x64.ActiveCfg = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|x64.Build.0 = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|x86.ActiveCfg = Debug|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug|x86.Build.0 = Debug|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|ARM64.ActiveCfg = Debug|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|ARM64.Build.0 = Debug|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|ARM64EC.ActiveCfg = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|ARM64EC.Build.0 = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|x64.ActiveCfg = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|x64.Build.0 = Debug|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|x86.ActiveCfg = Debug|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Debug-Unpackaged|x86.Build.0 = Debug|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|ARM64.ActiveCfg = Preview|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|ARM64.Build.0 = Preview|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|ARM64EC.ActiveCfg = Preview|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|ARM64EC.Build.0 = Preview|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|x64.ActiveCfg = Preview|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|x64.Build.0 = Preview|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|x86.ActiveCfg = Preview|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Preview|x86.Build.0 = Preview|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|ARM64.ActiveCfg = Release|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|ARM64.Build.0 = Release|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|ARM64EC.ActiveCfg = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|ARM64EC.Build.0 = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|x64.ActiveCfg = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|x64.Build.0 = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|x86.ActiveCfg = Release|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Release|x86.Build.0 = Release|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|ARM64.ActiveCfg = Release|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|ARM64.Build.0 = Release|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|ARM64EC.ActiveCfg = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|ARM64EC.Build.0 = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|x64.ActiveCfg = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|x64.Build.0 = Release|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|x86.ActiveCfg = Release|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Release-Unpackaged|x86.Build.0 = Release|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|ARM64.ActiveCfg = Sideload|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|ARM64.Build.0 = Sideload|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|ARM64EC.ActiveCfg = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|ARM64EC.Build.0 = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|x64.ActiveCfg = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|x64.Build.0 = Sideload|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|x86.ActiveCfg = Sideload|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Sideload|x86.Build.0 = Sideload|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|ARM64.ActiveCfg = Stable|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|ARM64.Build.0 = Stable|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|ARM64EC.ActiveCfg = Stable|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|ARM64EC.Build.0 = Stable|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|x64.ActiveCfg = Stable|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|x64.Build.0 = Stable|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|x86.ActiveCfg = Stable|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Stable|x86.Build.0 = Stable|x86
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|ARM64.ActiveCfg = Store|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|ARM64.Build.0 = Store|ARM64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|ARM64EC.ActiveCfg = Store|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|ARM64EC.Build.0 = Store|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|x64.ActiveCfg = Store|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|x64.Build.0 = Store|x64
{8ED42919-1635-44E4-A670-9329B07F1398}.Store|x86.ActiveCfg = Store|x86
Expand All @@ -249,4 +297,4 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5B033CDA-6491-405C-A05B-CEE6AC4060B9}
EndGlobalSection
EndGlobal
EndGlobal
1 change: 1 addition & 0 deletions WinUIGallery/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<ResourceDictionary Source="/Styles/Grid.xaml" />
<ResourceDictionary Source="/Styles/GridViewItem.xaml" />
<ResourceDictionary Source="/Styles/TextBlock.xaml" />
<ResourceDictionary Source="/Styles/TitleBar.xaml" />
<ResourceDictionary Source="/Samples/ControlPages/Fundamentals/Controls/CounterControl.xaml" />
<ResourceDictionary Source="/Samples/ControlPages/Fundamentals/Controls/ValidatedPasswordBox.xaml" />
</ResourceDictionary.MergedDictionaries>
Expand Down
71 changes: 8 additions & 63 deletions WinUIGallery/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
using System.Linq;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Navigation;
using Microsoft.Windows.AppLifecycle;
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
Expand All @@ -28,19 +27,11 @@ namespace WinUIGallery;
/// </summary>
sealed partial class App : Application
{
private static Window startupWindow;
private static Win32WindowHelper win32WindowHelper;
internal static MainWindow MainWindow { get; private set; } = null!;

private static int registeredKeyPressedHook = 0;
private HookProc keyEventHook;

/// <summary>
/// Get the initial window created for this app.
/// </summary>
public static Window StartupWindow
{
get => startupWindow;
}

/// <summary>
/// Initializes the singleton Application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
Expand All @@ -60,11 +51,8 @@ protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs ar
{
IdleSynchronizer.Init();

startupWindow = WindowHelper.CreateWindow();
startupWindow.ExtendsContentIntoTitleBar = true;

win32WindowHelper = new Win32WindowHelper(startupWindow);
win32WindowHelper.SetWindowMinMaxSize(new Win32WindowHelper.POINT() { x = 500, y = 500 });
MainWindow = new MainWindow();
WindowHelper.TrackWindow(MainWindow);

#if DEBUG
if (Debugger.IsAttached)
Expand Down Expand Up @@ -105,9 +93,7 @@ private async void EnsureWindow()
{
await ControlInfoDataSource.Instance.GetGroupsAsync();
await IconsDataSource.Instance.LoadIcons();

Frame rootFrame = GetRootFrame();

MainWindow.AddNavigationMenuItems();
ThemeHelper.Initialize();

var targetPageType = typeof(HomePage);
Expand Down Expand Up @@ -138,57 +124,16 @@ private async void EnsureWindow()
}
}

var rootPage = StartupWindow.Content as NavigationRootPage;
rootPage.Navigate(targetPageType, targetPageArguments);
MainWindow.Navigate(targetPageType, targetPageArguments);

if (targetPageType == typeof(HomePage))
{
var navItem = (NavigationViewItem)rootPage.NavigationView.MenuItems[0];
var navItem = (NavigationViewItem)MainWindow.NavigationView.MenuItems[0];
navItem.IsSelected = true;
}

// Activate the startup window.
StartupWindow.Activate();
}

/// <summary>
/// Gets the frame of the StartupWindow.
/// </summary>
/// <returns>The frame of the StartupWindow.</returns>
/// <exception cref="Exception">Thrown if the window doesn't have a frame with the name "rootFrame".</exception>
public Frame GetRootFrame()
{
Frame rootFrame;
if (StartupWindow.Content is NavigationRootPage rootPage)
{
rootFrame = (Frame)rootPage.FindName("rootFrame");
}
else
{
rootPage = new NavigationRootPage();
rootFrame = (Frame)rootPage.FindName("rootFrame");
if (rootFrame == null)
{
throw new Exception("Root frame not found");
}
SuspensionManager.RegisterFrame(rootFrame, "AppFrame");
rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
rootFrame.NavigationFailed += OnNavigationFailed;

StartupWindow.Content = rootPage;
}

return rootFrame;
}

/// <summary>
/// Invoked when Navigation to a certain page fails
/// </summary>
/// <param name="sender">The Frame which failed navigation</param>
/// <param name="e">Details about the navigation failure</param>
void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
{
throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
MainWindow.Activate();
}

/// <summary>
Expand Down
Loading