diff --git a/NativeEmbeddingAndroid/AndroidManifest.xml b/NativeEmbeddingAndroid/AndroidManifest.xml new file mode 100644 index 0000000..3fead98 --- /dev/null +++ b/NativeEmbeddingAndroid/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/MainActivity.cs b/NativeEmbeddingAndroid/MainActivity.cs new file mode 100644 index 0000000..6bf0a4b --- /dev/null +++ b/NativeEmbeddingAndroid/MainActivity.cs @@ -0,0 +1,81 @@ +using Syncfusion.Maui.TabView; +using Android.App; +using Android.OS; +using Microsoft.Maui.Embedding; +using Syncfusion.Maui.Core.Hosting; +using Microsoft.Maui.Platform; + +namespace NativeEmbeddingAndroid +{ + [Activity(Label = "@string/app_name", MainLauncher = true)] + public class MainActivity : Activity + { + MauiContext? _mauiContext; + protected override void OnCreate(Bundle? savedInstanceState) + { + base.OnCreate(savedInstanceState); + MauiAppBuilder builder = MauiApp.CreateBuilder(); + builder.UseMauiEmbedding(); + builder.ConfigureSyncfusionCore(); + MauiApp mauiApp = builder.Build(); + _mauiContext = new MauiContext(mauiApp.Services, this); + + SfTabView tabView = new SfTabView() { TabBarBackground=Colors.HotPink }; + + ListView listView = new ListView + { + RowHeight = 50, + ItemsSource = new string[] { "James", "Richard", "Clara", "Michael", "Alex", "Clara" }, + ItemTemplate = new DataTemplate(() => + { + var grid = new Grid + { + Margin = new Thickness(10, 5) + }; + var label = new Label + { + VerticalOptions = LayoutOptions.Center, + HorizontalOptions = LayoutOptions.Start, + Margin = new Thickness(5, 0), + TextColor = Colors.Black, + FontSize = 16 + }; + label.SetBinding(Label.TextProperty, "."); + + grid.Children.Add(label); + + return new ViewCell { View = grid }; + }) + }; + + Grid favoritesGrid = new Grid { }; + favoritesGrid.Children.Add(listView); + Grid recentsGrid = new Grid { BackgroundColor = Colors.Green }; + Grid contactsGrid = new Grid { BackgroundColor = Colors.Blue }; + var tabItems = new TabItemCollection + { + new SfTabItem() + { + Header = "FAVOURITES", + Content = favoritesGrid + }, + new SfTabItem() + { + Header = "RECENTS", + Content = recentsGrid + }, + new SfTabItem() + { + Header = "CONTACTS", + Content = contactsGrid + } + }; + + tabView.Items = tabItems; + + Android.Views.View mauiView = tabView.ToPlatform(_mauiContext); + SetContentView(mauiView); + } + + } +} \ No newline at end of file diff --git a/NativeEmbeddingAndroid/NativeEmbeddingAndroid.csproj b/NativeEmbeddingAndroid/NativeEmbeddingAndroid.csproj new file mode 100644 index 0000000..98a8224 --- /dev/null +++ b/NativeEmbeddingAndroid/NativeEmbeddingAndroid.csproj @@ -0,0 +1,17 @@ + + + net8.0-android + 21 + Exe + enable + enable + true + com.companyname.NativeEmbeddingAndroid + 1 + 1.0 + + + + + + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/NativeEmbeddingAndroid.sln b/NativeEmbeddingAndroid/NativeEmbeddingAndroid.sln new file mode 100644 index 0000000..7be21de --- /dev/null +++ b/NativeEmbeddingAndroid/NativeEmbeddingAndroid.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34723.18 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NativeEmbeddingAndroid", "NativeEmbeddingAndroid.csproj", "{F8464F58-892E-4B94-97B6-6E802846B1A3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Release|Any CPU.Build.0 = Release|Any CPU + {F8464F58-892E-4B94-97B6-6E802846B1A3}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6FF478C7-4759-45EB-8A4F-5ADA794CB5F2} + EndGlobalSection +EndGlobal diff --git a/NativeEmbeddingAndroid/Resources/AboutResources.txt b/NativeEmbeddingAndroid/Resources/AboutResources.txt new file mode 100644 index 0000000..219f425 --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "Resource" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class Drawable { + public const int icon = 0x123; + } + + public class Layout { + public const int main = 0x456; + } + + public class Strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use Resource.Drawable.icon to reference the drawable/icon.png file, or +Resource.Layout.main to reference the layout/main.xml file, or Resource.Strings.first_string +to reference the first string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/NativeEmbeddingAndroid/Resources/layout/activity_main.xml b/NativeEmbeddingAndroid/Resources/layout/activity_main.xml new file mode 100644 index 0000000..f949852 --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/layout/activity_main.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon.xml b/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon.xml new file mode 100644 index 0000000..7751f69 --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml b/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml new file mode 100644 index 0000000..7751f69 --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/mipmap-anydpi-v26/appicon_round.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon.png b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon.png new file mode 100644 index 0000000..0abfc1b Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_background.png b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_background.png new file mode 100644 index 0000000..513e69d Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_background.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_foreground.png b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_foreground.png new file mode 100644 index 0000000..99d3a29 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-hdpi/appicon_foreground.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon.png b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon.png new file mode 100644 index 0000000..7b5a2e2 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_background.png b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_background.png new file mode 100644 index 0000000..9e2d1e4 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_background.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_foreground.png b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_foreground.png new file mode 100644 index 0000000..a28d342 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-mdpi/appicon_foreground.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon.png b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon.png new file mode 100644 index 0000000..b28b73c Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_background.png b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_background.png new file mode 100644 index 0000000..658be3f Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_background.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_foreground.png b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_foreground.png new file mode 100644 index 0000000..70a542a Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xhdpi/appicon_foreground.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon.png b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon.png new file mode 100644 index 0000000..f9af117 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_background.png b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_background.png new file mode 100644 index 0000000..9171c3e Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_background.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png new file mode 100644 index 0000000..cb63bfb Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxhdpi/appicon_foreground.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon.png b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon.png new file mode 100644 index 0000000..1d948d6 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_background.png b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_background.png new file mode 100644 index 0000000..1232d8c Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_background.png differ diff --git a/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png new file mode 100644 index 0000000..9f9c9e6 Binary files /dev/null and b/NativeEmbeddingAndroid/Resources/mipmap-xxxhdpi/appicon_foreground.png differ diff --git a/NativeEmbeddingAndroid/Resources/values/ic_launcher_background.xml b/NativeEmbeddingAndroid/Resources/values/ic_launcher_background.xml new file mode 100644 index 0000000..6ec24e6 --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #2C3E50 + \ No newline at end of file diff --git a/NativeEmbeddingAndroid/Resources/values/strings.xml b/NativeEmbeddingAndroid/Resources/values/strings.xml new file mode 100644 index 0000000..bfc401f --- /dev/null +++ b/NativeEmbeddingAndroid/Resources/values/strings.xml @@ -0,0 +1,4 @@ + + NativeEmbeddingAndroid + Hello, Android! + diff --git a/SelectedHeaderColorCustomization/App.xaml b/SelectedHeaderColorCustomization/App.xaml new file mode 100644 index 0000000..c56b378 --- /dev/null +++ b/SelectedHeaderColorCustomization/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/SelectedHeaderColorCustomization/App.xaml.cs b/SelectedHeaderColorCustomization/App.xaml.cs new file mode 100644 index 0000000..c557fef --- /dev/null +++ b/SelectedHeaderColorCustomization/App.xaml.cs @@ -0,0 +1,12 @@ +namespace SelectedHeaderColorCustomization +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } + } +} diff --git a/SelectedHeaderColorCustomization/AppShell.xaml b/SelectedHeaderColorCustomization/AppShell.xaml new file mode 100644 index 0000000..1e02a5b --- /dev/null +++ b/SelectedHeaderColorCustomization/AppShell.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/SelectedHeaderColorCustomization/AppShell.xaml.cs b/SelectedHeaderColorCustomization/AppShell.xaml.cs new file mode 100644 index 0000000..d2e8fcb --- /dev/null +++ b/SelectedHeaderColorCustomization/AppShell.xaml.cs @@ -0,0 +1,10 @@ +namespace SelectedHeaderColorCustomization +{ + public partial class AppShell : Shell + { + public AppShell() + { + InitializeComponent(); + } + } +} diff --git a/SelectedHeaderColorCustomization/MainPage.xaml b/SelectedHeaderColorCustomization/MainPage.xaml new file mode 100644 index 0000000..1e7dfd4 --- /dev/null +++ b/SelectedHeaderColorCustomization/MainPage.xaml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + James + Richard + Clara + Michael + Alex + Clara + + + + + + + + + + + + + + + + + + + + Alan + Sandra + Ryan + Alex + Clara + + + + + + + + + + + + + + + + + + + Steve + Mark + Alan + Sandra + Ryan + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/MainPage.xaml.cs b/SelectedHeaderColorCustomization/MainPage.xaml.cs new file mode 100644 index 0000000..6c2297a --- /dev/null +++ b/SelectedHeaderColorCustomization/MainPage.xaml.cs @@ -0,0 +1,11 @@ +namespace SelectedHeaderColorCustomization +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } + +} diff --git a/SelectedHeaderColorCustomization/MauiProgram.cs b/SelectedHeaderColorCustomization/MauiProgram.cs new file mode 100644 index 0000000..a82e6db --- /dev/null +++ b/SelectedHeaderColorCustomization/MauiProgram.cs @@ -0,0 +1,27 @@ +using Microsoft.Extensions.Logging; +using Syncfusion.Maui.Core.Hosting; + +namespace SelectedHeaderColorCustomization +{ + public static class MauiProgram + { + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureSyncfusionCore() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); + }); + +#if DEBUG + builder.Logging.AddDebug(); +#endif + + return builder.Build(); + } + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/Android/AndroidManifest.xml b/SelectedHeaderColorCustomization/Platforms/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9937ad --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Platforms/Android/MainActivity.cs b/SelectedHeaderColorCustomization/Platforms/Android/MainActivity.cs new file mode 100644 index 0000000..2bbaccc --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace SelectedHeaderColorCustomization +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/Android/MainApplication.cs b/SelectedHeaderColorCustomization/Platforms/Android/MainApplication.cs new file mode 100644 index 0000000..db2487d --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace SelectedHeaderColorCustomization +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/Android/Resources/values/colors.xml b/SelectedHeaderColorCustomization/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 0000000..c04d749 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Platforms/MacCatalyst/AppDelegate.cs b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 0000000..89e11d3 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace SelectedHeaderColorCustomization +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Entitlements.plist b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Entitlements.plist new file mode 100644 index 0000000..de4adc9 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Entitlements.plist @@ -0,0 +1,14 @@ + + + + + + + com.apple.security.app-sandbox + + + com.apple.security.network.client + + + + diff --git a/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Info.plist b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Info.plist new file mode 100644 index 0000000..7268977 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + UIDeviceFamily + + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Program.cs b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Program.cs new file mode 100644 index 0000000..299e211 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace SelectedHeaderColorCustomization +{ + 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)); + } + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/Tizen/Main.cs b/SelectedHeaderColorCustomization/Platforms/Tizen/Main.cs new file mode 100644 index 0000000..483408b --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using Microsoft.Maui; +using Microsoft.Maui.Hosting; +using System; + +namespace SelectedHeaderColorCustomization +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/Tizen/tizen-manifest.xml b/SelectedHeaderColorCustomization/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 0000000..2063175 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + maui-appicon-placeholder + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml b/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml new file mode 100644 index 0000000..9641fa5 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml.cs b/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml.cs new file mode 100644 index 0000000..083c757 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Windows/App.xaml.cs @@ -0,0 +1,25 @@ +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 SelectedHeaderColorCustomization.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(); + } + +} diff --git a/SelectedHeaderColorCustomization/Platforms/Windows/Package.appxmanifest b/SelectedHeaderColorCustomization/Platforms/Windows/Package.appxmanifest new file mode 100644 index 0000000..9398a82 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,46 @@ + + + + + + + + + $placeholder$ + User Name + $placeholder$.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SelectedHeaderColorCustomization/Platforms/Windows/app.manifest b/SelectedHeaderColorCustomization/Platforms/Windows/app.manifest new file mode 100644 index 0000000..d9061af --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/Windows/app.manifest @@ -0,0 +1,15 @@ + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/SelectedHeaderColorCustomization/Platforms/iOS/AppDelegate.cs b/SelectedHeaderColorCustomization/Platforms/iOS/AppDelegate.cs new file mode 100644 index 0000000..89e11d3 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace SelectedHeaderColorCustomization +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/SelectedHeaderColorCustomization/Platforms/iOS/Info.plist b/SelectedHeaderColorCustomization/Platforms/iOS/Info.plist new file mode 100644 index 0000000..0004a4f --- /dev/null +++ b/SelectedHeaderColorCustomization/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/SelectedHeaderColorCustomization/Platforms/iOS/Program.cs b/SelectedHeaderColorCustomization/Platforms/iOS/Program.cs new file mode 100644 index 0000000..299e211 --- /dev/null +++ b/SelectedHeaderColorCustomization/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace SelectedHeaderColorCustomization +{ + 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)); + } + } +} diff --git a/SelectedHeaderColorCustomization/Properties/launchSettings.json b/SelectedHeaderColorCustomization/Properties/launchSettings.json new file mode 100644 index 0000000..edf8aad --- /dev/null +++ b/SelectedHeaderColorCustomization/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Resources/AppIcon/appicon.svg b/SelectedHeaderColorCustomization/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000..9d63b65 --- /dev/null +++ b/SelectedHeaderColorCustomization/Resources/AppIcon/appicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Resources/AppIcon/appiconfg.svg b/SelectedHeaderColorCustomization/Resources/AppIcon/appiconfg.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/SelectedHeaderColorCustomization/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Regular.ttf b/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..2d1edf0 Binary files /dev/null and b/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Semibold.ttf b/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Semibold.ttf new file mode 100644 index 0000000..fe13d06 Binary files /dev/null and b/SelectedHeaderColorCustomization/Resources/Fonts/OpenSans-Semibold.ttf differ diff --git a/SelectedHeaderColorCustomization/Resources/Images/dotnet_bot.png b/SelectedHeaderColorCustomization/Resources/Images/dotnet_bot.png new file mode 100644 index 0000000..f93ce02 Binary files /dev/null and b/SelectedHeaderColorCustomization/Resources/Images/dotnet_bot.png differ diff --git a/SelectedHeaderColorCustomization/Resources/Raw/AboutAssets.txt b/SelectedHeaderColorCustomization/Resources/Raw/AboutAssets.txt new file mode 100644 index 0000000..15d6244 --- /dev/null +++ b/SelectedHeaderColorCustomization/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/SelectedHeaderColorCustomization/Resources/Splash/splash.svg b/SelectedHeaderColorCustomization/Resources/Splash/splash.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/SelectedHeaderColorCustomization/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Resources/Styles/Colors.xaml b/SelectedHeaderColorCustomization/Resources/Styles/Colors.xaml new file mode 100644 index 0000000..30307a5 --- /dev/null +++ b/SelectedHeaderColorCustomization/Resources/Styles/Colors.xaml @@ -0,0 +1,45 @@ + + + + + + + #512BD4 + #ac99ea + #242424 + #DFD8F7 + #9880e5 + #2B0B98 + + White + Black + #D600AA + #190649 + #1f1f1f + + #E1E1E1 + #C8C8C8 + #ACACAC + #919191 + #6E6E6E + #404040 + #212121 + #141414 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/Resources/Styles/Styles.xaml b/SelectedHeaderColorCustomization/Resources/Styles/Styles.xaml new file mode 100644 index 0000000..e0d36bb --- /dev/null +++ b/SelectedHeaderColorCustomization/Resources/Styles/Styles.xaml @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj new file mode 100644 index 0000000..82ff069 --- /dev/null +++ b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj @@ -0,0 +1,66 @@ + + + + net8.0-android;net8.0-ios;net8.0-maccatalyst + $(TargetFrameworks);net8.0-windows10.0.19041.0 + + + + + + + Exe + SelectedHeaderColorCustomization + true + true + enable + enable + + + SelectedHeaderColorCustomization + + + com.companyname.selectedheadercolorcustomization + + + 1.0 + 1 + + 11.0 + 13.1 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj.user b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj.user new file mode 100644 index 0000000..027ecea --- /dev/null +++ b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.csproj.user @@ -0,0 +1,33 @@ + + + + False + net8.0-android + Pixel 5 - API 31 (Android 12.0 - API 31) + Emulator + pixel_5_-_api_31 + + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + \ No newline at end of file diff --git a/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.sln b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.sln new file mode 100644 index 0000000..f66e94a --- /dev/null +++ b/SelectedHeaderColorCustomization/SelectedHeaderColorCustomization.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34723.18 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SelectedHeaderColorCustomization", "SelectedHeaderColorCustomization.csproj", "{71506118-B260-43B1-976E-E2D1F12466BB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {71506118-B260-43B1-976E-E2D1F12466BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {71506118-B260-43B1-976E-E2D1F12466BB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {71506118-B260-43B1-976E-E2D1F12466BB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {71506118-B260-43B1-976E-E2D1F12466BB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {71506118-B260-43B1-976E-E2D1F12466BB}.Release|Any CPU.Build.0 = Release|Any CPU + {71506118-B260-43B1-976E-E2D1F12466BB}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7E566851-0605-4DA4-B18D-EDF92A02F4B4} + EndGlobalSection +EndGlobal diff --git a/TabViewEventToCommand/App.xaml b/TabViewEventToCommand/App.xaml new file mode 100644 index 0000000..7571f6b --- /dev/null +++ b/TabViewEventToCommand/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/TabViewEventToCommand/App.xaml.cs b/TabViewEventToCommand/App.xaml.cs new file mode 100644 index 0000000..e81c883 --- /dev/null +++ b/TabViewEventToCommand/App.xaml.cs @@ -0,0 +1,12 @@ +namespace TabViewEventToCommand +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } + } +} diff --git a/TabViewEventToCommand/AppShell.xaml b/TabViewEventToCommand/AppShell.xaml new file mode 100644 index 0000000..ccab024 --- /dev/null +++ b/TabViewEventToCommand/AppShell.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/TabViewEventToCommand/AppShell.xaml.cs b/TabViewEventToCommand/AppShell.xaml.cs new file mode 100644 index 0000000..39f1643 --- /dev/null +++ b/TabViewEventToCommand/AppShell.xaml.cs @@ -0,0 +1,10 @@ +namespace TabViewEventToCommand +{ + public partial class AppShell : Shell + { + public AppShell() + { + InitializeComponent(); + } + } +} diff --git a/TabViewEventToCommand/MainPage.xaml b/TabViewEventToCommand/MainPage.xaml new file mode 100644 index 0000000..45921b1 --- /dev/null +++ b/TabViewEventToCommand/MainPage.xaml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + James + Richard + Clara + Michael + Alex + Clara + + + + + + + + + + + + + + + + + + + + Alan + Sandra + Ryan + Alex + Clara + + + + + + + + + + + + + + + + + + + Steve + Mark + Alan + Sandra + Ryan + + + + + + + + + + + + + + + + + + diff --git a/TabViewEventToCommand/MainPage.xaml.cs b/TabViewEventToCommand/MainPage.xaml.cs new file mode 100644 index 0000000..133ebcd --- /dev/null +++ b/TabViewEventToCommand/MainPage.xaml.cs @@ -0,0 +1,11 @@ +namespace TabViewEventToCommand +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } + +} diff --git a/TabViewEventToCommand/MauiProgram.cs b/TabViewEventToCommand/MauiProgram.cs new file mode 100644 index 0000000..83551ea --- /dev/null +++ b/TabViewEventToCommand/MauiProgram.cs @@ -0,0 +1,29 @@ +using CommunityToolkit.Maui; +using Microsoft.Extensions.Logging; +using Syncfusion.Maui.Core.Hosting; + +namespace TabViewEventToCommand +{ + public static class MauiProgram + { + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .UseMauiCommunityToolkit() + .ConfigureSyncfusionCore() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); + }); + +#if DEBUG + builder.Logging.AddDebug(); +#endif + + return builder.Build(); + } + } +} diff --git a/TabViewEventToCommand/Platforms/Android/AndroidManifest.xml b/TabViewEventToCommand/Platforms/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9937ad --- /dev/null +++ b/TabViewEventToCommand/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Platforms/Android/MainActivity.cs b/TabViewEventToCommand/Platforms/Android/MainActivity.cs new file mode 100644 index 0000000..b0e37d1 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace TabViewEventToCommand +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} diff --git a/TabViewEventToCommand/Platforms/Android/MainApplication.cs b/TabViewEventToCommand/Platforms/Android/MainApplication.cs new file mode 100644 index 0000000..4014e78 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace TabViewEventToCommand +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/TabViewEventToCommand/Platforms/Android/Resources/values/colors.xml b/TabViewEventToCommand/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 0000000..c04d749 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/TabViewEventToCommand/Platforms/MacCatalyst/AppDelegate.cs b/TabViewEventToCommand/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 0000000..f9bfd42 --- /dev/null +++ b/TabViewEventToCommand/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace TabViewEventToCommand +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/TabViewEventToCommand/Platforms/MacCatalyst/Entitlements.plist b/TabViewEventToCommand/Platforms/MacCatalyst/Entitlements.plist new file mode 100644 index 0000000..de4adc9 --- /dev/null +++ b/TabViewEventToCommand/Platforms/MacCatalyst/Entitlements.plist @@ -0,0 +1,14 @@ + + + + + + + com.apple.security.app-sandbox + + + com.apple.security.network.client + + + + diff --git a/TabViewEventToCommand/Platforms/MacCatalyst/Info.plist b/TabViewEventToCommand/Platforms/MacCatalyst/Info.plist new file mode 100644 index 0000000..7268977 --- /dev/null +++ b/TabViewEventToCommand/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + UIDeviceFamily + + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/TabViewEventToCommand/Platforms/MacCatalyst/Program.cs b/TabViewEventToCommand/Platforms/MacCatalyst/Program.cs new file mode 100644 index 0000000..50bf95f --- /dev/null +++ b/TabViewEventToCommand/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace TabViewEventToCommand +{ + 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)); + } + } +} diff --git a/TabViewEventToCommand/Platforms/Tizen/Main.cs b/TabViewEventToCommand/Platforms/Tizen/Main.cs new file mode 100644 index 0000000..c794c08 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using Microsoft.Maui; +using Microsoft.Maui.Hosting; +using System; + +namespace TabViewEventToCommand +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} diff --git a/TabViewEventToCommand/Platforms/Tizen/tizen-manifest.xml b/TabViewEventToCommand/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 0000000..ae41e99 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + maui-appicon-placeholder + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Platforms/Windows/App.xaml b/TabViewEventToCommand/Platforms/Windows/App.xaml new file mode 100644 index 0000000..25d5b6a --- /dev/null +++ b/TabViewEventToCommand/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/TabViewEventToCommand/Platforms/Windows/App.xaml.cs b/TabViewEventToCommand/Platforms/Windows/App.xaml.cs new file mode 100644 index 0000000..fb9b7ee --- /dev/null +++ b/TabViewEventToCommand/Platforms/Windows/App.xaml.cs @@ -0,0 +1,25 @@ +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 TabViewEventToCommand.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(); + } + +} diff --git a/TabViewEventToCommand/Platforms/Windows/Package.appxmanifest b/TabViewEventToCommand/Platforms/Windows/Package.appxmanifest new file mode 100644 index 0000000..cf3eb7c --- /dev/null +++ b/TabViewEventToCommand/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,46 @@ + + + + + + + + + $placeholder$ + User Name + $placeholder$.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TabViewEventToCommand/Platforms/Windows/app.manifest b/TabViewEventToCommand/Platforms/Windows/app.manifest new file mode 100644 index 0000000..22074c7 --- /dev/null +++ b/TabViewEventToCommand/Platforms/Windows/app.manifest @@ -0,0 +1,15 @@ + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/TabViewEventToCommand/Platforms/iOS/AppDelegate.cs b/TabViewEventToCommand/Platforms/iOS/AppDelegate.cs new file mode 100644 index 0000000..f9bfd42 --- /dev/null +++ b/TabViewEventToCommand/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace TabViewEventToCommand +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} diff --git a/TabViewEventToCommand/Platforms/iOS/Info.plist b/TabViewEventToCommand/Platforms/iOS/Info.plist new file mode 100644 index 0000000..0004a4f --- /dev/null +++ b/TabViewEventToCommand/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/TabViewEventToCommand/Platforms/iOS/Program.cs b/TabViewEventToCommand/Platforms/iOS/Program.cs new file mode 100644 index 0000000..50bf95f --- /dev/null +++ b/TabViewEventToCommand/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace TabViewEventToCommand +{ + 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)); + } + } +} diff --git a/TabViewEventToCommand/Properties/launchSettings.json b/TabViewEventToCommand/Properties/launchSettings.json new file mode 100644 index 0000000..edf8aad --- /dev/null +++ b/TabViewEventToCommand/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/TabViewEventToCommand/Resources/AppIcon/appicon.svg b/TabViewEventToCommand/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000..9d63b65 --- /dev/null +++ b/TabViewEventToCommand/Resources/AppIcon/appicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Resources/AppIcon/appiconfg.svg b/TabViewEventToCommand/Resources/AppIcon/appiconfg.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/TabViewEventToCommand/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Resources/Fonts/OpenSans-Regular.ttf b/TabViewEventToCommand/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..2d1edf0 Binary files /dev/null and b/TabViewEventToCommand/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/TabViewEventToCommand/Resources/Fonts/OpenSans-Semibold.ttf b/TabViewEventToCommand/Resources/Fonts/OpenSans-Semibold.ttf new file mode 100644 index 0000000..fe13d06 Binary files /dev/null and b/TabViewEventToCommand/Resources/Fonts/OpenSans-Semibold.ttf differ diff --git a/TabViewEventToCommand/Resources/Images/dotnet_bot.png b/TabViewEventToCommand/Resources/Images/dotnet_bot.png new file mode 100644 index 0000000..f93ce02 Binary files /dev/null and b/TabViewEventToCommand/Resources/Images/dotnet_bot.png differ diff --git a/TabViewEventToCommand/Resources/Raw/AboutAssets.txt b/TabViewEventToCommand/Resources/Raw/AboutAssets.txt new file mode 100644 index 0000000..15d6244 --- /dev/null +++ b/TabViewEventToCommand/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/TabViewEventToCommand/Resources/Splash/splash.svg b/TabViewEventToCommand/Resources/Splash/splash.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/TabViewEventToCommand/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Resources/Styles/Colors.xaml b/TabViewEventToCommand/Resources/Styles/Colors.xaml new file mode 100644 index 0000000..30307a5 --- /dev/null +++ b/TabViewEventToCommand/Resources/Styles/Colors.xaml @@ -0,0 +1,45 @@ + + + + + + + #512BD4 + #ac99ea + #242424 + #DFD8F7 + #9880e5 + #2B0B98 + + White + Black + #D600AA + #190649 + #1f1f1f + + #E1E1E1 + #C8C8C8 + #ACACAC + #919191 + #6E6E6E + #404040 + #212121 + #141414 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TabViewEventToCommand/Resources/Styles/Styles.xaml b/TabViewEventToCommand/Resources/Styles/Styles.xaml new file mode 100644 index 0000000..e0d36bb --- /dev/null +++ b/TabViewEventToCommand/Resources/Styles/Styles.xaml @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TabViewEventToCommand/TabViewEventToCommand.csproj b/TabViewEventToCommand/TabViewEventToCommand.csproj new file mode 100644 index 0000000..91489d7 --- /dev/null +++ b/TabViewEventToCommand/TabViewEventToCommand.csproj @@ -0,0 +1,67 @@ + + + + net8.0-android;net8.0-ios;net8.0-maccatalyst + $(TargetFrameworks);net8.0-windows10.0.19041.0 + + + + + + + Exe + TabViewEventToCommand + true + true + enable + enable + + + TabViewEventToCommand + + + com.companyname.tabvieweventtocommand + + + 1.0 + 1 + + 11.0 + 13.1 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TabViewEventToCommand/TabViewEventToCommand.csproj.user b/TabViewEventToCommand/TabViewEventToCommand.csproj.user new file mode 100644 index 0000000..027ecea --- /dev/null +++ b/TabViewEventToCommand/TabViewEventToCommand.csproj.user @@ -0,0 +1,33 @@ + + + + False + net8.0-android + Pixel 5 - API 31 (Android 12.0 - API 31) + Emulator + pixel_5_-_api_31 + + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + + + \ No newline at end of file diff --git a/TabViewEventToCommand/TabViewEventToCommand.sln b/TabViewEventToCommand/TabViewEventToCommand.sln new file mode 100644 index 0000000..7ac2e56 --- /dev/null +++ b/TabViewEventToCommand/TabViewEventToCommand.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34723.18 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TabViewEventToCommand", "TabViewEventToCommand.csproj", "{0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Release|Any CPU.Build.0 = Release|Any CPU + {0FC399EE-5D1D-4D52-BE76-F7B99F0E1727}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0A08DE4C-DA8B-4E9F-B2E6-38E8135EA760} + EndGlobalSection +EndGlobal diff --git a/TabViewEventToCommand/ViewModel/MainPageViewModel.cs b/TabViewEventToCommand/ViewModel/MainPageViewModel.cs new file mode 100644 index 0000000..2108078 --- /dev/null +++ b/TabViewEventToCommand/ViewModel/MainPageViewModel.cs @@ -0,0 +1,49 @@ +using System.ComponentModel; +using Syncfusion.Maui.TabView; +namespace TabViewEventToCommand +{ + public class MainPageViewModel : INotifyPropertyChanged + { + private Command? selectionChangedCommand; + public Command? SelectionChangedCommand + { + get { return selectionChangedCommand; } + set + { + selectionChangedCommand = value; + OnPropertyChanged(nameof(SelectionChangedCommand)); + } + } + public MainPageViewModel() + { + SelectionChangedCommand = new Command(TabViewSelectionChanged); + } + + public void TabViewSelectionChanged(object obj) + { + // Do action + + var tabView = (obj as SfTabView); + if (tabView != null) + { + foreach(var tabItem in tabView.Items) + { + if (tabItem != null) + { + if(tabItem.IsSelected) + { + App.Current?.MainPage? + .DisplayAlert("Alert", "You have been selected " + tabItem.Header + " Tab", "OK"); + } + } + } + } + } + + public event PropertyChangedEventHandler? PropertyChanged; + public void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } +} diff --git a/TabViewNativeEmbeddingiOS/AppDelegate.cs b/TabViewNativeEmbeddingiOS/AppDelegate.cs new file mode 100644 index 0000000..3fff819 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/AppDelegate.cs @@ -0,0 +1,102 @@ +using System; +using System.Drawing; +using Foundation; +using Microsoft.Maui.Embedding; +using Microsoft.Maui.Platform; +using Syncfusion.Maui.Core.Hosting; +using Syncfusion.Maui.TabView; +using UIKit; + +namespace TabViewNativeEmbeddingiOS; + +[Register("AppDelegate")] +public class AppDelegate : UIApplicationDelegate +{ + public override UIWindow? Window + { + get; + set; + } + MauiContext? _mauiContext; + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) + { + // create a new window instance based on the screen size. + Window = new UIWindow(UIScreen.MainScreen.Bounds); + MauiAppBuilder builder = MauiApp.CreateBuilder(); + builder.UseMauiEmbedding(); + builder.ConfigureSyncfusionCore(); + // Register the Window. + builder.Services.Add(new Microsoft.Extensions.DependencyInjection.ServiceDescriptor(typeof(UIWindow), Window)); + MauiApp mauiApp = builder.Build(); + _mauiContext = new MauiContext(mauiApp.Services); + + SfTabView tabView = new SfTabView() { TabBarBackground = Colors.HotPink }; + + ListView listView = new ListView + { + RowHeight = 50, + ItemsSource = new string[] { "James", "Richard", "Clara", "Michael", "Alex", "Clara" }, + ItemTemplate = new DataTemplate(() => + { + var grid = new Grid + { + Margin = new Thickness(10, 5) + }; + var label = new Label + { + VerticalOptions = LayoutOptions.Center, + HorizontalOptions = LayoutOptions.Start, + Margin = new Thickness(5, 0), + TextColor = Colors.Black, + FontSize = 16 + }; + label.SetBinding(Label.TextProperty, "."); + + grid.Children.Add(label); + + return new ViewCell { View = grid }; + }) + }; + + Grid favoritesGrid = new Grid { }; + favoritesGrid.Children.Add(listView); + Grid recentsGrid = new Grid { BackgroundColor = Colors.Green }; + Grid contactsGrid = new Grid { BackgroundColor = Colors.Blue }; + var tabItems = new TabItemCollection + { + new SfTabItem() + { + Header = "FAVOURITES", + Content = favoritesGrid + }, + new SfTabItem() + { + Header = "RECENTS", + Content = recentsGrid + }, + new SfTabItem() + { + Header = "CONTACTS", + Content = contactsGrid + } + }; + + tabView.Items = tabItems; + + UIView mauiView = tabView.ToPlatform(_mauiContext); + mauiView.Frame = Window!.Frame; + + // create UIViewController + var vc = new UIViewController(); + vc.View!.AddSubview(mauiView); + + Window.RootViewController = vc; + + // make the window visible + Window.MakeKeyAndVisible(); + + return true; + } +} + + diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..79d29a5 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,118 @@ +{ + "images": [ + { + "scale": "2x", + "size": "20x20", + "idiom": "iphone", + "filename": "Icon40.png" + }, + { + "scale": "3x", + "size": "20x20", + "idiom": "iphone", + "filename": "Icon60.png" + }, + { + "scale": "2x", + "size": "29x29", + "idiom": "iphone", + "filename": "Icon58.png" + }, + { + "scale": "3x", + "size": "29x29", + "idiom": "iphone", + "filename": "Icon87.png" + }, + { + "scale": "2x", + "size": "40x40", + "idiom": "iphone", + "filename": "Icon80.png" + }, + { + "scale": "3x", + "size": "40x40", + "idiom": "iphone", + "filename": "Icon120.png" + }, + { + "scale": "2x", + "size": "60x60", + "idiom": "iphone", + "filename": "Icon120.png" + }, + { + "scale": "3x", + "size": "60x60", + "idiom": "iphone", + "filename": "Icon180.png" + }, + { + "scale": "1x", + "size": "20x20", + "idiom": "ipad", + "filename": "Icon20.png" + }, + { + "scale": "2x", + "size": "20x20", + "idiom": "ipad", + "filename": "Icon40.png" + }, + { + "scale": "1x", + "size": "29x29", + "idiom": "ipad", + "filename": "Icon29.png" + }, + { + "scale": "2x", + "size": "29x29", + "idiom": "ipad", + "filename": "Icon58.png" + }, + { + "scale": "1x", + "size": "40x40", + "idiom": "ipad", + "filename": "Icon40.png" + }, + { + "scale": "2x", + "size": "40x40", + "idiom": "ipad", + "filename": "Icon80.png" + }, + { + "scale": "1x", + "size": "76x76", + "idiom": "ipad", + "filename": "Icon76.png" + }, + { + "scale": "2x", + "size": "76x76", + "idiom": "ipad", + "filename": "Icon152.png" + }, + { + "scale": "2x", + "size": "83.5x83.5", + "idiom": "ipad", + "filename": "Icon167.png" + }, + { + "scale": "1x", + "size": "1024x1024", + "idiom": "ios-marketing", + "filename": "Icon1024.png" + } + ], + "properties": {}, + "info": { + "version": 1, + "author": "xcode" + } +} + diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png new file mode 100644 index 0000000..b573205 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon120.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon120.png new file mode 100644 index 0000000..0b74155 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon120.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon152.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon152.png new file mode 100644 index 0000000..1c19313 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon152.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon167.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon167.png new file mode 100644 index 0000000..4e3e8bd Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon167.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon180.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon180.png new file mode 100644 index 0000000..40a7371 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon180.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon20.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon20.png new file mode 100644 index 0000000..8bb1383 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon20.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon29.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon29.png new file mode 100644 index 0000000..bdd130c Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon29.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon40.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon40.png new file mode 100644 index 0000000..75d2789 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon40.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon58.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon58.png new file mode 100644 index 0000000..06afa60 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon58.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon60.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon60.png new file mode 100644 index 0000000..2e0db2a Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon60.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon76.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon76.png new file mode 100644 index 0000000..755bc88 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon76.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon80.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon80.png new file mode 100644 index 0000000..6559bb4 Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon80.png differ diff --git a/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon87.png b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon87.png new file mode 100644 index 0000000..ca28c8d Binary files /dev/null and b/TabViewNativeEmbeddingiOS/Assets.xcassets/AppIcon.appiconset/Icon87.png differ diff --git a/TabViewNativeEmbeddingiOS/Entitlements.plist b/TabViewNativeEmbeddingiOS/Entitlements.plist new file mode 100644 index 0000000..36a8706 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/TabViewNativeEmbeddingiOS/Info.plist b/TabViewNativeEmbeddingiOS/Info.plist new file mode 100644 index 0000000..236378c --- /dev/null +++ b/TabViewNativeEmbeddingiOS/Info.plist @@ -0,0 +1,42 @@ + + + + + CFBundleDisplayName + TabViewNativeEmbeddingiOS + CFBundleIdentifier + com.companyname.TabViewNativeEmbeddingiOS + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + + diff --git a/TabViewNativeEmbeddingiOS/LaunchScreen.storyboard b/TabViewNativeEmbeddingiOS/LaunchScreen.storyboard new file mode 100644 index 0000000..73af283 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TabViewNativeEmbeddingiOS/Main.cs b/TabViewNativeEmbeddingiOS/Main.cs new file mode 100644 index 0000000..fe516cf --- /dev/null +++ b/TabViewNativeEmbeddingiOS/Main.cs @@ -0,0 +1,8 @@ +using TabViewNativeEmbeddingiOS; +using UIKit; + +// This is the main entry point of the application. +// If you want to use a different Application Delegate class from "AppDelegate" +// you can specify it here. +UIApplication.Main (args, null, typeof (AppDelegate)); + diff --git a/TabViewNativeEmbeddingiOS/Resources/LaunchScreen.xib b/TabViewNativeEmbeddingiOS/Resources/LaunchScreen.xib new file mode 100644 index 0000000..e4e7335 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/Resources/LaunchScreen.xib @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TabViewNativeEmbeddingiOS/SceneDelegate.cs b/TabViewNativeEmbeddingiOS/SceneDelegate.cs new file mode 100644 index 0000000..2bfde19 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/SceneDelegate.cs @@ -0,0 +1,58 @@ +using Foundation; +using UIKit; + +namespace TabViewNativeEmbeddingiOS; + +[Register ("SceneDelegate")] +public class SceneDelegate : UIResponder, IUIWindowSceneDelegate { + + [Export ("window")] + public UIWindow? Window { get; set; } + + [Export ("scene:willConnectToSession:options:")] + public void WillConnect (UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions) + { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see UIApplicationDelegate `GetConfiguration` instead). + } + + [Export ("sceneDidDisconnect:")] + public void DidDisconnect (UIScene scene) + { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not neccessarily discarded (see UIApplicationDelegate `DidDiscardSceneSessions` instead). + } + + [Export ("sceneDidBecomeActive:")] + public void DidBecomeActive (UIScene scene) + { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + [Export ("sceneWillResignActive:")] + public void WillResignActive (UIScene scene) + { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + [Export ("sceneWillEnterForeground:")] + public void WillEnterForeground (UIScene scene) + { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + [Export ("sceneDidEnterBackground:")] + public void DidEnterBackground (UIScene scene) + { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } +} + diff --git a/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.csproj b/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.csproj new file mode 100644 index 0000000..7f3ed32 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.csproj @@ -0,0 +1,19 @@ + + + net8.0-ios + Exe + enable + true + true + 13.0 + + + false + + + false + + + + + diff --git a/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.sln b/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.sln new file mode 100644 index 0000000..a44fce4 --- /dev/null +++ b/TabViewNativeEmbeddingiOS/TabViewNativeEmbeddingiOS.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 25.0.1706.11 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TabViewNativeEmbeddingiOS", "TabViewNativeEmbeddingiOS.csproj", "{B0E54CB3-D6B8-4E58-8CFF-CDFB9FB7065C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B0E54CB3-D6B8-4E58-8CFF-CDFB9FB7065C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B0E54CB3-D6B8-4E58-8CFF-CDFB9FB7065C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B0E54CB3-D6B8-4E58-8CFF-CDFB9FB7065C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B0E54CB3-D6B8-4E58-8CFF-CDFB9FB7065C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {20818BB9-953A-477D-BE67-145205B07E43} + EndGlobalSection +EndGlobal