diff --git a/.gitignore b/.gitignore index 0ebc03e..e26a5aa 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,9 @@ /FormattingBug/.vs /FormattingBug/bin/Debug/net6.0-android /FormattingBug/obj +/.vs +/ShellIconBug/bin/Debug/net6.0-android +/ShellIconBug/obj +/NavigationIssue/bin/Debug +/NavigationIssue/obj +/ShellIconBug/bin/Debug diff --git a/FormattingBug/FormattingBug.csproj.user b/FormattingBug/FormattingBug.csproj.user index 8d8c97e..30a1ecf 100644 --- a/FormattingBug/FormattingBug.csproj.user +++ b/FormattingBug/FormattingBug.csproj.user @@ -1,8 +1,10 @@  - net6.0-android + net6.0-windows10.0.19041.0 False - Pixel 5 - API 32 (Android 12.1 - API 32) + Windows Machine + Emulator + pixel_5_-_api_32 \ No newline at end of file diff --git a/MauiBugs.sln b/MauiBugs.sln index d04a871..3bd9237 100644 --- a/MauiBugs.sln +++ b/MauiBugs.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.0.31611.283 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FormattingBug", "FormattingBug\FormattingBug.csproj", "{DAEF5E10-F148-4D64-BF07-325AE536A373}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NavigationIssue", "NavigationIssue\NavigationIssue.csproj", "{E2A81EA3-5418-401F-837C-99610E7FA699}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -17,6 +19,12 @@ Global {DAEF5E10-F148-4D64-BF07-325AE536A373}.Release|Any CPU.ActiveCfg = Release|Any CPU {DAEF5E10-F148-4D64-BF07-325AE536A373}.Release|Any CPU.Build.0 = Release|Any CPU {DAEF5E10-F148-4D64-BF07-325AE536A373}.Release|Any CPU.Deploy.0 = Release|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Release|Any CPU.Build.0 = Release|Any CPU + {E2A81EA3-5418-401F-837C-99610E7FA699}.Release|Any CPU.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NavigationIssue/App.xaml b/NavigationIssue/App.xaml new file mode 100644 index 0000000..3bb7f01 --- /dev/null +++ b/NavigationIssue/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/NavigationIssue/App.xaml.cs b/NavigationIssue/App.xaml.cs new file mode 100644 index 0000000..5df5289 --- /dev/null +++ b/NavigationIssue/App.xaml.cs @@ -0,0 +1,12 @@ +namespace NavigationIssue +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } + } +} \ No newline at end of file diff --git a/NavigationIssue/AppShell.cs b/NavigationIssue/AppShell.cs new file mode 100644 index 0000000..62a6b95 --- /dev/null +++ b/NavigationIssue/AppShell.cs @@ -0,0 +1,44 @@ +namespace NavigationIssue; + +public class AppShell : Shell +{ + public AppShell() + { + Routing.RegisterRoute($"//Home/{nameof(NewPage2)}", typeof(NewPage2)); + + var flyout = new FlyoutItem + { + FlyoutDisplayOptions = FlyoutDisplayOptions.AsSingleItem, + Title = "Home", + Route = "Home", + }; + + flyout.Items.Add(new Tab + { + Title = "New Page 1", + Items = { + new ShellContent + { + Title = "New Page 1", + Route = nameof(NewPage1), + ContentTemplate = new DataTemplate(typeof(NewPage1)), + } + } + }); + + flyout.Items.Add(new Tab + { + Title = "New Page 2", + Items = { + new ShellContent + { + Title = "New Page 2", + Route = nameof(NewPage2), + ContentTemplate = new DataTemplate(typeof(NewPage2)), + } + } + }); + + Items.Add(flyout); + } +} diff --git a/NavigationIssue/MauiProgram.cs b/NavigationIssue/MauiProgram.cs new file mode 100644 index 0000000..df5eec9 --- /dev/null +++ b/NavigationIssue/MauiProgram.cs @@ -0,0 +1,22 @@ +namespace NavigationIssue +{ + public static class MauiProgram + { + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); + }); + + builder.Services.AddSingleton(); + builder.Services.AddSingleton(); + + return builder.Build(); + } + } +} diff --git a/NavigationIssue/NavigationIssue.csproj b/NavigationIssue/NavigationIssue.csproj new file mode 100644 index 0000000..6aa3c96 --- /dev/null +++ b/NavigationIssue/NavigationIssue.csproj @@ -0,0 +1,51 @@ + + + + net6.0-android;net6.0-ios;net6.0-maccatalyst + $(TargetFrameworks);net6.0-windows10.0.19041.0 + + + Exe + NavigationIssue + true + true + enable + + + NavigationIssue + + + com.companyname.navigationissue + 7E0F3CF9-264F-44CE-B516-EAA806454496 + + + 1.0 + 1 + + 14.2 + 14.0 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + diff --git a/NavigationIssue/NavigationIssue.csproj.user b/NavigationIssue/NavigationIssue.csproj.user new file mode 100644 index 0000000..0093840 --- /dev/null +++ b/NavigationIssue/NavigationIssue.csproj.user @@ -0,0 +1,29 @@ + + + + net6.0-android + Pixel 5 - API 32 (Android 12.1 - API 32) + False + Emulator + pixel_5_-_api_32 + + + + Designer + + + Designer + + + Designer + + + Designer + + + + + Designer + + + \ No newline at end of file diff --git a/NavigationIssue/NewPage1.cs b/NavigationIssue/NewPage1.cs new file mode 100644 index 0000000..ca9d869 --- /dev/null +++ b/NavigationIssue/NewPage1.cs @@ -0,0 +1,23 @@ +namespace NavigationIssue; + +public class NewPage1 : ContentPage +{ + public NewPage1() + { + var navButton = new Button { Text = "Navigate to New Page 2" }; + navButton.Clicked += NavButton_Clicked; + + Content = new StackLayout + { + Children = { + new Label { Text = "Welcome to New Page 1!" }, + navButton + } + }; + } + + private void NavButton_Clicked(object sender, EventArgs e) + { + Shell.Current.GoToAsync($"//Home/{nameof(NewPage2)}"); + } +} diff --git a/NavigationIssue/NewPage2.cs b/NavigationIssue/NewPage2.cs new file mode 100644 index 0000000..d15d101 --- /dev/null +++ b/NavigationIssue/NewPage2.cs @@ -0,0 +1,14 @@ +namespace NavigationIssue; + +public class NewPage2 : ContentPage +{ + public NewPage2() + { + Content = new StackLayout + { + Children = { + new Label { Text = "Welcome to New Page 2!" } + } + }; + } +} diff --git a/NavigationIssue/Platforms/Android/AndroidManifest.xml b/NavigationIssue/Platforms/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9937ad --- /dev/null +++ b/NavigationIssue/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NavigationIssue/Platforms/Android/MainActivity.cs b/NavigationIssue/Platforms/Android/MainActivity.cs new file mode 100644 index 0000000..1215ba6 --- /dev/null +++ b/NavigationIssue/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace NavigationIssue +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/Android/MainApplication.cs b/NavigationIssue/Platforms/Android/MainApplication.cs new file mode 100644 index 0000000..193583e --- /dev/null +++ b/NavigationIssue/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace NavigationIssue +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/Android/Resources/values/colors.xml b/NavigationIssue/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 0000000..c04d749 --- /dev/null +++ b/NavigationIssue/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/NavigationIssue/Platforms/MacCatalyst/AppDelegate.cs b/NavigationIssue/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 0000000..83c8cc4 --- /dev/null +++ b/NavigationIssue/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace NavigationIssue +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/MacCatalyst/Info.plist b/NavigationIssue/Platforms/MacCatalyst/Info.plist new file mode 100644 index 0000000..c96dd0a --- /dev/null +++ b/NavigationIssue/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,30 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/NavigationIssue/Platforms/MacCatalyst/Program.cs b/NavigationIssue/Platforms/MacCatalyst/Program.cs new file mode 100644 index 0000000..d467f09 --- /dev/null +++ b/NavigationIssue/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace NavigationIssue +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/Tizen/Main.cs b/NavigationIssue/Platforms/Tizen/Main.cs new file mode 100644 index 0000000..3a2cf55 --- /dev/null +++ b/NavigationIssue/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using System; +using Microsoft.Maui; +using Microsoft.Maui.Hosting; + +namespace NavigationIssue +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/Tizen/tizen-manifest.xml b/NavigationIssue/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 0000000..d77f8d4 --- /dev/null +++ b/NavigationIssue/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + appicon.xhigh.png + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/NavigationIssue/Platforms/Windows/App.xaml b/NavigationIssue/Platforms/Windows/App.xaml new file mode 100644 index 0000000..6b1507b --- /dev/null +++ b/NavigationIssue/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/NavigationIssue/Platforms/Windows/App.xaml.cs b/NavigationIssue/Platforms/Windows/App.xaml.cs new file mode 100644 index 0000000..b99d5c5 --- /dev/null +++ b/NavigationIssue/Platforms/Windows/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace NavigationIssue.WinUI +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + public partial class App : MauiWinUIApplication + { + /// + /// 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(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/Windows/Package.appxmanifest b/NavigationIssue/Platforms/Windows/Package.appxmanifest new file mode 100644 index 0000000..2bcb11e --- /dev/null +++ b/NavigationIssue/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,43 @@ + + + + + + + $placeholder$ + User Name + $placeholder$.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NavigationIssue/Platforms/Windows/app.manifest b/NavigationIssue/Platforms/Windows/app.manifest new file mode 100644 index 0000000..3eba4ff --- /dev/null +++ b/NavigationIssue/Platforms/Windows/app.manifest @@ -0,0 +1,15 @@ + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/NavigationIssue/Platforms/iOS/AppDelegate.cs b/NavigationIssue/Platforms/iOS/AppDelegate.cs new file mode 100644 index 0000000..83c8cc4 --- /dev/null +++ b/NavigationIssue/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace NavigationIssue +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NavigationIssue/Platforms/iOS/Info.plist b/NavigationIssue/Platforms/iOS/Info.plist new file mode 100644 index 0000000..0004a4f --- /dev/null +++ b/NavigationIssue/Platforms/iOS/Info.plist @@ -0,0 +1,32 @@ + + + + + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/NavigationIssue/Platforms/iOS/Program.cs b/NavigationIssue/Platforms/iOS/Program.cs new file mode 100644 index 0000000..d467f09 --- /dev/null +++ b/NavigationIssue/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace NavigationIssue +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/NavigationIssue/Properties/launchSettings.json b/NavigationIssue/Properties/launchSettings.json new file mode 100644 index 0000000..edf8aad --- /dev/null +++ b/NavigationIssue/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/NavigationIssue/Resources/AppIcon/appicon.svg b/NavigationIssue/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000..9d63b65 --- /dev/null +++ b/NavigationIssue/Resources/AppIcon/appicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NavigationIssue/Resources/AppIcon/appiconfg.svg b/NavigationIssue/Resources/AppIcon/appiconfg.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/NavigationIssue/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/NavigationIssue/Resources/Fonts/OpenSans-Regular.ttf b/NavigationIssue/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..2c94413 Binary files /dev/null and b/NavigationIssue/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/NavigationIssue/Resources/Fonts/OpenSans-Semibold.ttf b/NavigationIssue/Resources/Fonts/OpenSans-Semibold.ttf new file mode 100644 index 0000000..3c54fa7 Binary files /dev/null and b/NavigationIssue/Resources/Fonts/OpenSans-Semibold.ttf differ diff --git a/NavigationIssue/Resources/Images/dotnet_bot.svg b/NavigationIssue/Resources/Images/dotnet_bot.svg new file mode 100644 index 0000000..abfaff2 --- /dev/null +++ b/NavigationIssue/Resources/Images/dotnet_bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NavigationIssue/Resources/Raw/AboutAssets.txt b/NavigationIssue/Resources/Raw/AboutAssets.txt new file mode 100644 index 0000000..15d6244 --- /dev/null +++ b/NavigationIssue/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with you package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/NavigationIssue/Resources/Splash/splash.svg b/NavigationIssue/Resources/Splash/splash.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/NavigationIssue/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/NavigationIssue/Resources/Styles/Colors.xaml b/NavigationIssue/Resources/Styles/Colors.xaml new file mode 100644 index 0000000..245758b --- /dev/null +++ b/NavigationIssue/Resources/Styles/Colors.xaml @@ -0,0 +1,44 @@ + + + + + #512BD4 + #DFD8F7 + #2B0B98 + White + Black + #E1E1E1 + #C8C8C8 + #ACACAC + #919191 + #6E6E6E + #404040 + #212121 + #141414 + + + + + + + + + + + + + + + #F7B548 + #FFD590 + #FFE5B9 + #28C2D1 + #7BDDEF + #C3F2F4 + #3E8EED + #72ACF1 + #A7CBF6 + + \ No newline at end of file diff --git a/NavigationIssue/Resources/Styles/Styles.xaml b/NavigationIssue/Resources/Styles/Styles.xaml new file mode 100644 index 0000000..3b0fdc4 --- /dev/null +++ b/NavigationIssue/Resources/Styles/Styles.xaml @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +