diff --git a/UI/MauiEmbedding/GrialKitApp/.editorconfig b/UI/MauiEmbedding/GrialKitApp/.editorconfig
new file mode 100644
index 000000000..b947be645
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/.editorconfig
@@ -0,0 +1,167 @@
+; This file is for unifying the coding style for different editors and IDEs.
+; More information at http://editorconfig.org
+
+# This file is the top-most EditorConfig file
+root = true
+
+##########################################
+# Common Settings
+##########################################
+
+[*]
+indent_style = space
+end_of_line = crlf
+trim_trailing_whitespace = true
+insert_final_newline = true
+charset = utf-8
+
+##########################################
+# File Extension Settings
+##########################################
+
+[*.{yml,yaml}]
+indent_size = 2
+
+[.vsconfig]
+indent_size = 2
+end_of_line = lf
+
+[*.sln]
+indent_style = tab
+indent_size = 2
+
+[*.{csproj,proj,projitems,shproj}]
+indent_size = 2
+
+[*.{json,slnf}]
+indent_size = 2
+end_of_line = lf
+
+[*.{props,targets}]
+indent_size = 2
+
+[*.xaml]
+indent_size = 2
+charset = utf-8-bom
+
+[*.xml]
+indent_size = 2
+end_of_line = lf
+
+[*.plist]
+indent_size = 2
+indent_style = tab
+end_of_line = lf
+
+[*.manifest]
+indent_size = 2
+
+[*.appxmanifest]
+indent_size = 2
+
+[*.{json,css,webmanifest}]
+indent_size = 2
+end_of_line = lf
+
+[web.config]
+indent_size = 2
+end_of_line = lf
+
+[*.sh]
+indent_size = 2
+end_of_line = lf
+
+[*.cs]
+# EOL should be normalized by Git. See https://github.com/dotnet/format/issues/1099
+end_of_line = unset
+
+# See https://github.com/dotnet/roslyn/issues/20356#issuecomment-310143926
+trim_trailing_whitespace = false
+
+tab_width = 4
+indent_size = 4
+
+# Sort using and Import directives with System.* appearing first
+dotnet_sort_system_directives_first = true
+
+# Avoid "this." and "Me." if not necessary
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+
+#### Naming styles ####
+
+# Naming rules
+
+dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
+dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
+dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
+
+dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.types_should_be_pascal_case.symbols = types
+dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
+
+dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
+dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
+
+# Symbol specifications
+
+dotnet_naming_symbols.interface.applicable_kinds = interface
+dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.interface.required_modifiers =
+
+dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
+dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.types.required_modifiers =
+
+dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
+dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.non_field_members.required_modifiers =
+
+# Naming styles
+
+dotnet_naming_style.begins_with_i.required_prefix = I
+dotnet_naming_style.begins_with_i.required_suffix =
+dotnet_naming_style.begins_with_i.word_separator =
+dotnet_naming_style.begins_with_i.capitalization = pascal_case
+
+dotnet_naming_style.pascal_case.required_prefix =
+dotnet_naming_style.pascal_case.required_suffix =
+dotnet_naming_style.pascal_case.word_separator =
+dotnet_naming_style.pascal_case.capitalization = pascal_case
+
+dotnet_naming_style.pascal_case.required_prefix =
+dotnet_naming_style.pascal_case.required_suffix =
+dotnet_naming_style.pascal_case.word_separator =
+dotnet_naming_style.pascal_case.capitalization = pascal_case
+dotnet_style_operator_placement_when_wrapping = beginning_of_line
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_auto_properties = true:silent
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
+dotnet_style_prefer_conditional_expression_over_assignment = true:silent
+dotnet_style_prefer_conditional_expression_over_return = true:silent
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+
+csharp_indent_labels = one_less_than_current
+csharp_using_directive_placement = outside_namespace:silent
+csharp_prefer_simple_using_statement = true:suggestion
+csharp_prefer_braces = true:silent
+csharp_style_namespace_declarations = file_scoped:warning
+csharp_style_prefer_method_group_conversion = true:silent
+csharp_style_prefer_top_level_statements = true:silent
+csharp_style_prefer_primary_constructors = true:suggestion
+csharp_style_expression_bodied_methods = false:silent
+csharp_style_expression_bodied_constructors = false:silent
+csharp_style_expression_bodied_operators = false:silent
+csharp_style_expression_bodied_properties = true:silent
+csharp_style_expression_bodied_indexers = true:silent
+csharp_style_expression_bodied_accessors = true:silent
+csharp_style_expression_bodied_lambdas = true:silent
+csharp_style_expression_bodied_local_functions = false:silent
diff --git a/UI/MauiEmbedding/GrialKitApp/.gitignore b/UI/MauiEmbedding/GrialKitApp/.gitignore
index bc55501a7..ef88c2053 100644
--- a/UI/MauiEmbedding/GrialKitApp/.gitignore
+++ b/UI/MauiEmbedding/GrialKitApp/.gitignore
@@ -399,5 +399,5 @@ FodyWeavers.xsd
# Single Target Config
solution-config.props
-# Windows Publish Profiles
-!**/*.Windows/Properties/PublishProfiles/*.pubxml
\ No newline at end of file
+# Publish Profiles
+!**/Properties/PublishProfiles/*.pubxml
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/.vscode/tasks.json b/UI/MauiEmbedding/GrialKitApp/.vscode/tasks.json
index 02ee36589..54d839243 100644
--- a/UI/MauiEmbedding/GrialKitApp/.vscode/tasks.json
+++ b/UI/MauiEmbedding/GrialKitApp/.vscode/tasks.json
@@ -1,6 +1,5 @@
{
"version": "2.0.0",
"tasks": [
-
]
}
diff --git a/UI/MauiEmbedding/GrialKitApp/.vsconfig b/UI/MauiEmbedding/GrialKitApp/.vsconfig
index 1c9c22808..8bfddc4d6 100644
--- a/UI/MauiEmbedding/GrialKitApp/.vsconfig
+++ b/UI/MauiEmbedding/GrialKitApp/.vsconfig
@@ -5,34 +5,21 @@
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.NetCore.Component.SDK",
"Microsoft.NetCore.Component.DevelopmentTools",
- "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
- "Microsoft.NetCore.Component.Web",
"Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
"Microsoft.VisualStudio.Component.TextTemplating",
- "Microsoft.VisualStudio.Component.IISExpress",
- "Component.Microsoft.Web.LibraryManager",
- "Microsoft.VisualStudio.ComponentGroup.Web",
- "Microsoft.VisualStudio.Component.Web",
- "Microsoft.VisualStudio.ComponentGroup.Web.Client",
- "Microsoft.VisualStudio.Workload.NetWeb",
- "Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites",
- "Microsoft.VisualStudio.Workload.Azure",
- "Microsoft.VisualStudio.Component.Windows10SDK.19041",
"Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
"Microsoft.VisualStudio.Component.Debugger.JustInTime",
- "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.Component.NetFX.Native",
"Microsoft.VisualStudio.Component.Graphics",
- "Component.OpenJDK",
- "Microsoft.VisualStudio.Component.MonoDebugger",
"Microsoft.VisualStudio.Component.Merq",
"Component.Xamarin.RemotedSimulator",
- "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine",
- "Component.Xamarin",
- "Component.Android.SDK32",
+ "Microsoft.VisualStudio.Component.MonoDebugger",
+ "Microsoft.VisualStudio.ComponentGroup.Maui.All",
+ "Component.Android.SDK34",
+ "Component.Android.SDK33",
+ "Component.OpenJDK",
"Microsoft.VisualStudio.Workload.NetCrossPlat",
- "Microsoft.VisualStudio.Workload.NetCoreTools",
- "Microsoft.VisualStudio.ComponentGroup.Maui.All"
+ "Microsoft.VisualStudio.Workload.NetCoreTools"
]
}
diff --git a/UI/MauiEmbedding/GrialKitApp/Directory.Build.props b/UI/MauiEmbedding/GrialKitApp/Directory.Build.props
index 89caf9ab0..559e90312 100644
--- a/UI/MauiEmbedding/GrialKitApp/Directory.Build.props
+++ b/UI/MauiEmbedding/GrialKitApp/Directory.Build.props
@@ -1,74 +1,24 @@
-
-
-
-
-
-
- enable
- enable
-
- portable
- True
-
- true
-
- $(NoWarn);CA1416;NU1507;NETSDK1023
-
- en
-
- false
- false
- false
- false
- false
-
- 8.0.7
- 1.10.0.1
- 2.6.0.1
- 1.3.0.1
-
-
-
-
-
- true
- 21.0
-
-
-
-
- true
- 14.2
-
-
-
-
- true
- 10.14
-
-
-
-
- true
- 14.0
-
-
-
-
- true
-
- 10.0.19041.0
- 10.0.19041.0
- win-x86;win-x64;win-arm64
-
-
-
-
-
+
+ enable
+ enable
+ true
+
+
+ $(NoWarn);NU1507;NETSDK1201;NETSDK1023;PRI257
+
+
+
+
+ 4.1.24
+ 6.0.24
+ 5.0.13
+ 5.2.14
+
diff --git a/UI/MauiEmbedding/GrialKitApp/Directory.Build.targets b/UI/MauiEmbedding/GrialKitApp/Directory.Build.targets
index 30332cf7d..f75adf7e4 100644
--- a/UI/MauiEmbedding/GrialKitApp/Directory.Build.targets
+++ b/UI/MauiEmbedding/GrialKitApp/Directory.Build.targets
@@ -1,6 +1,2 @@
-
-
-
-
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/Directory.Packages.props b/UI/MauiEmbedding/GrialKitApp/Directory.Packages.props
index d9ab35bb7..e3c550ad5 100644
--- a/UI/MauiEmbedding/GrialKitApp/Directory.Packages.props
+++ b/UI/MauiEmbedding/GrialKitApp/Directory.Packages.props
@@ -1,34 +1,14 @@
-
-
-
-
-
+
-
-
-
+ See https://aka.platform.uno/using-uno-sdk for more information.
+ -->
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml
deleted file mode 100644
index d4b086380..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml.cs
deleted file mode 100644
index 9ff0be290..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/AppHead.xaml.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Microsoft.UI.Xaml;
-using Uno.Resizetizer;
-
-namespace GrialKitApp;
-
-public sealed partial class AppHead : App
-{
- ///
- /// 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 AppHead()
- {
- this.InitializeComponent();
- }
-
- ///
- /// Invoked when the application is launched normally by the end user. Other entry points
- /// will be used such as when the application is launched to open a specific file.
- ///
- /// Details about the launch request and process.
- protected override void OnLaunched(LaunchActivatedEventArgs args)
- {
- base.OnLaunched(args);
-
- MainWindow.SetWindowIcon();
- }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/GrialKitApp.Base.csproj b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/GrialKitApp.Base.csproj
deleted file mode 100644
index 82a9732e3..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/GrialKitApp.Base.csproj
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- net8.0
- false
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/base.props b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/base.props
deleted file mode 100644
index 9b39b5c0e..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/base.props
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml
index eec291413..4e8a7cd76 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml
@@ -2,7 +2,7 @@
+ x:Class="GrialKitApp.MauiControls.App">
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml.cs
index fa987b8dd..5c6a01317 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/App.xaml.cs
@@ -1,9 +1,9 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class App : Application
{
- public App()
- {
- InitializeComponent();
- }
+ public App()
+ {
+ InitializeComponent();
+ }
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AppBuilderExtensions.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AppBuilderExtensions.cs
index cd14b633a..7decda3e0 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AppBuilderExtensions.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AppBuilderExtensions.cs
@@ -1,45 +1,27 @@
-using System.Diagnostics;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-// TODO: Uncomment
-//using UXDivers.Grial;
-using static System.Net.Mime.MediaTypeNames;
+using UXDivers.Grial;
-#if ANDROID
-using Android.App;
-using Android.Content;
-using Android.Content.PM;
-#endif
-
-namespace GrialKitApp;
+namespace GrialKitApp.MauiControls;
public static class AppBuilderExtensions
{
- public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder)
- {
- // TODO: Uncomment
- //#if __IOS__
- // var theme = new ThemeColorsBase(new Dictionary
- // {
- // { "AccentColor", Color.FromArgb("#FF3F75FF") }
- // });
-
- // GrialKit.Init(theme, "GrialKitApp.MauiControls.GrialLicense");
- //#else
- // Context context = Android.App.Application.Context;
-
- // var lbl = ((PackageItemInfo)context.ApplicationInfo).LoadLabel(context.PackageManager);
- // var lbl2 = ((PackageItemInfo)context.ApplicationInfo).NonLocalizedLabel;
-
- // GrialKit.Init("GrialKitApp.MauiControls.GrialLicense");
- //#endif
+ public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder)
+ {
+#if __IOS__
+ var theme = new ThemeColorsBase(new Dictionary
+ {
+ { "AccentColor", Color.FromArgb("#FF3F75FF") }
+ });
+
+ GrialKit.Init(theme, "GrialKitApp.MauiControls.GrialLicense");
+#else
+ GrialKit.Init("GrialKitApp.MauiControls.GrialLicense");
+#endif
return builder
- // TODO: Uncomment
- // .UseGrial()
- .ConfigureFonts(fonts =>
- {
- fonts.AddFont("GrialKitApp/Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular");
- fonts.AddFont("GrialKitApp/Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold");
- });
- }
-}
\ No newline at end of file
+ .UseGrial()
+ .ConfigureFonts(fonts =>
+ {
+ fonts.AddFont("Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular");
+ fonts.AddFont("Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold");
+ });
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml
index 708365dc3..e6f8a182a 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml
@@ -32,9 +32,8 @@
-
-
-
+
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml.cs
index 3bdda448f..9d7262c04 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/AreaChartSample.xaml.cs
@@ -1,4 +1,4 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class AreaChartSample : ContentPage
{
@@ -6,7 +6,6 @@ public AreaChartSample()
{
InitializeComponent();
- // TODO: Uncomment
- //chart.BindingContext = SampleData.MultiseriesWithLabels();
+ chart.BindingContext = SampleData.MultiseriesWithLabels();
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml
index 033f5d145..5cf6f4c41 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml
@@ -7,9 +7,8 @@
Title="BarChartSample">
-
-
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml.cs
index 7200abf11..aa8cbba0b 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarChartSample.xaml.cs
@@ -1,4 +1,4 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class BarChartSample : ContentPage
{
@@ -6,7 +6,6 @@ public BarChartSample()
{
InitializeComponent();
- // TODO: Uncomment
- //chart1.BindingContext = chart2.BindingContext = SampleData.Bar();
+ chart1.BindingContext = chart2.BindingContext = SampleData.Bar();
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml
index 210d967cb..deae9c4d2 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml
@@ -7,9 +7,8 @@
Title="BarMultiSeriesSample">
-
-
-
+
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml.cs
index 42da24da8..7043a4c47 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/BarMultiSeriesSample.xaml.cs
@@ -1,4 +1,4 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class BarMultiSeriesSample : ContentPage
{
@@ -6,8 +6,7 @@ public BarMultiSeriesSample()
{
InitializeComponent();
- // TODO: Uncomment
- //chart.BindingContext = SampleData.MultiSeriesBar();
+ chart.BindingContext = SampleData.MultiSeriesBar();
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml
new file mode 100644
index 000000000..ebcd1cb30
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml.cs
new file mode 100644
index 000000000..3fc357eb8
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/EmbeddedControl.xaml.cs
@@ -0,0 +1,31 @@
+namespace GrialKitApp.MauiControls;
+
+public partial class EmbeddedControl : ContentView
+{
+ public EmbeddedControl()
+ {
+ InitializeComponent();
+
+ chart.BindingContext = new[]
+ {
+ new {
+ Value = 521.02,
+ },
+ new {
+ Value = 62.56,
+ },
+ new {
+ Value = 245.52,
+ },
+ new {
+ Value = 33.26,
+ },
+ new {
+ Value = 33.26,
+ },
+ new {
+ Value = 78.95,
+ }
+ };
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/GrialKitApp.MauiControls.csproj b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/GrialKitApp.MauiControls.csproj
index 7718e1824..28a93a4bd 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/GrialKitApp.MauiControls.csproj
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/GrialKitApp.MauiControls.csproj
@@ -8,15 +8,16 @@
true
-
-
-
-
+
-
-
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml
index f97c4113a..e02b16fe6 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml
@@ -7,10 +7,8 @@
Title="LineChartSample">
-
-
-
-
+
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml.cs
index 35f732aa6..1aa52d4ec 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/LineChartSample.xaml.cs
@@ -1,4 +1,4 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class LineChartSample : ContentPage
{
@@ -6,7 +6,6 @@ public LineChartSample()
{
InitializeComponent();
- // TODO: Uncomment
- //chart.BindingContext = SampleData.Line();
+ chart.BindingContext = SampleData.Line();
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml
index d6aa34d1a..8728f9c0e 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml
@@ -5,22 +5,21 @@
xmlns:grial="http://uxdivers.com/grial"
Title="PieChartSample">
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml.cs
index 96b31779a..14024a6ea 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/PieChartSample.xaml.cs
@@ -1,4 +1,4 @@
-namespace GrialKitApp.MauiControls;
+namespace GrialKitApp.MauiControls;
public partial class PieChartSample : ContentPage
{
@@ -6,7 +6,6 @@ public PieChartSample()
{
InitializeComponent();
- // TODO: Uncomment
- //chart.BindingContext = SampleData.Ring();
+ chart.BindingContext = SampleData.Ring();
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/Templates/SwitchOption.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/Templates/SwitchOption.xaml
index 6235baa0d..eef75ff45 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/Templates/SwitchOption.xaml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/Templates/SwitchOption.xaml
@@ -6,14 +6,14 @@
x:Name="root"
Margin="0,0,0,-15">
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ IsChecked="{ Binding Value, Mode=TwoWay, Source={x:Reference root} }" />
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/UnoImageConverter.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/UnoImageConverter.cs
index 752d63c6b..c99cebf94 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/UnoImageConverter.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.MauiControls/UnoImageConverter.cs
@@ -1,7 +1,6 @@
using System.Globalization;
namespace GrialKitApp;
-
public class UnoImageConverter : IValueConverter
{
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Main.Android.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Main.Android.cs
deleted file mode 100644
index 30e0f7a7c..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Main.Android.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
-using Com.Nostra13.Universalimageloader.Core;
-using Microsoft.UI.Xaml.Media;
-
-namespace GrialKitApp.Droid;
-
-[global::Android.App.ApplicationAttribute(
- Label = "GrialControlsTestBed",
- Icon = "@mipmap/iconapp",
- LargeHeap = true,
- HardwareAccelerated = true,
- Theme = "@style/AppTheme"
-)]
-public class Application : Microsoft.UI.Xaml.NativeApplication
-{
- public Application(IntPtr javaReference, JniHandleOwnership transfer)
- : base(() => new AppHead(), javaReference, transfer)
- {
- ConfigureUniversalImageLoader();
- }
-
- private static void ConfigureUniversalImageLoader()
- {
- // Create global configuration and initialize ImageLoader with this config
- ImageLoaderConfiguration config = new ImageLoaderConfiguration
- .Builder(Context)
- .Build();
-
- ImageLoader.Instance.Init(config);
-
- ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
- }
-}
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/GrialKitApp.Mobile.csproj b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/GrialKitApp.Mobile.csproj
deleted file mode 100644
index 84634ac05..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/GrialKitApp.Mobile.csproj
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
- net8.0-ios;net8.0-android
- $(OverrideTargetFrameworks)
- true
- Exe
-
- GrialControlsTestBed
- GrialControlsTestBed
-
-
- com.grialcontrolstestbed
- 09267992-D99C-4976-B09B-4572DCB585A4
-
- 1.0
- 1
-
- Android\AndroidManifest.xml
-
-
-
-
- True
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
-
- $(MtouchExtraArgs) --registrar:static
- iossimulator-x64
-
-
-
- $(MtouchExtraArgs) --marshal-objectivec-exceptions:disable
-
-
-
-
-
- $(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
-
- $(MtouchExtraArgs) --registrar:static
-
- false
- maccatalyst-x64
-
-
-
- $(MtouchExtraArgs) --marshal-objectivec-exceptions:disable
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Info.plist b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Info.plist
deleted file mode 100644
index 5a4053db4..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Info.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- UIDeviceFamily
-
- 2
-
- LSApplicationCategoryType
- public.app-category.utilities
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- XSAppIconAssets
- Assets.xcassets/iconapp.appiconset
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Main.maccatalyst.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Main.maccatalyst.cs
deleted file mode 100644
index 02997bb3d..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Main.maccatalyst.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using UIKit;
-
-namespace GrialKitApp.MacCatalyst;
-
-public class EntryPoint
-{
- // This is the main entry point of the application.
- public 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(AppHead));
- }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Entitlements.plist b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Entitlements.plist
deleted file mode 100644
index 24c310368..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Entitlements.plist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Main.iOS.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Main.iOS.cs
deleted file mode 100644
index 07742ba64..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Main.iOS.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using UIKit;
-
-namespace GrialKitApp.iOS;
-
-public class EntryPoint
-{
- // This is the main entry point of the application.
- public 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(AppHead));
- }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
deleted file mode 100644
index 69555e440..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "images": [
- {
- "orientation": "portrait",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "scale": "2x",
- "size": "640x960",
- "idiom": "iphone"
- },
- {
- "orientation": "portrait",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "subtype": "retina4",
- "scale": "2x",
- "size": "640x1136",
- "idiom": "iphone"
- },
- {
- "orientation": "portrait",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "scale": "1x",
- "size": "768x1024",
- "idiom": "ipad"
- },
- {
- "orientation": "landscape",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "scale": "1x",
- "size": "1024x768",
- "idiom": "ipad"
- },
- {
- "orientation": "portrait",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "scale": "2x",
- "size": "1536x2048",
- "idiom": "ipad"
- },
- {
- "orientation": "landscape",
- "extent": "full-screen",
- "minimum-system-version": "7.0",
- "scale": "2x",
- "size": "2048x1536",
- "idiom": "ipad"
- }
- ],
- "properties": {},
- "info": {
- "version": 1,
- "author": ""
- }
-}
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.sln b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.sln
index dc6082928..09053fa53 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.sln
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp.sln
@@ -1,184 +1,44 @@
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.2.32210.308
-MinimumVisualStudioVersion = 15.0.26124.0
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{B4EB3596-887D-4903-9919-A008778BB462}"
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrialKitApp", "GrialKitApp\GrialKitApp.csproj", "{04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{6A3D4432-99DB-4B8A-8F74-EA3993532D9B}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GrialKitApp.MauiControls", "GrialKitApp.MauiControls\GrialKitApp.MauiControls.csproj", "{BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GrialKitApp", "GrialKitApp\GrialKitApp.csproj", "{0C76B08F-308F-4152-8376-27F77C4D6801}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GrialKitApp.Base", "GrialKitApp.Base\GrialKitApp.Base.csproj", "{2189102C-8698-4760-A2C5-ADED686F84E2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GrialKitApp.Mobile", "GrialKitApp.Mobile\GrialKitApp.Mobile.csproj", "{8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GrialKitApp.MauiControls", "GrialKitApp.MauiControls\GrialKitApp.MauiControls.csproj", "{A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BADA71DC-7FFD-4EDC-9F28-FB74AEADC713}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D31815BE-6A8B-4F52-B354-884C7CDEAE40}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
Directory.Packages.props = Directory.Packages.props
- solution-config.props.sample = solution-config.props.sample
+ global.json = global.json
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|ARM64 = Debug|ARM64
- Debug|iPhone = Debug|iPhone
- Debug|iPhoneSimulator = Debug|iPhoneSimulator
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|ARM64 = Release|ARM64
- Release|iPhone = Release|iPhone
- Release|iPhoneSimulator = Release|iPhoneSimulator
- Release|x64 = Release|x64
- Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|ARM.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|ARM64.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|iPhone.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|x64.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|x64.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|x86.ActiveCfg = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Debug|x86.Build.0 = Debug|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|Any CPU.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|ARM.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|ARM.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|ARM64.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|ARM64.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|iPhone.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|iPhone.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|x64.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|x64.Build.0 = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|x86.ActiveCfg = Release|Any CPU
- {0C76B08F-308F-4152-8376-27F77C4D6801}.Release|x86.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM64.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhone.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x64.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x86.Build.0 = Debug|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|Any CPU.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM64.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM64.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhone.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhone.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x64.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x64.Build.0 = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x86.ActiveCfg = Release|Any CPU
- {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x86.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM64.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|ARM64.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhone.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhone.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x64.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x64.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x64.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x86.ActiveCfg = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x86.Build.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Debug|x86.Deploy.0 = Debug|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|Any CPU.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM64.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM64.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|ARM64.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhone.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhone.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhone.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x64.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x64.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x64.Deploy.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x86.ActiveCfg = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x86.Build.0 = Release|Any CPU
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE}.Release|x86.Deploy.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|ARM.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|ARM64.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|iPhone.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|x64.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Debug|x86.Build.0 = Debug|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|Any CPU.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|ARM.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|ARM.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|ARM64.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|ARM64.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|iPhone.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|iPhone.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|x64.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|x64.Build.0 = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|x86.ActiveCfg = Release|Any CPU
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0}.Release|x86.Build.0 = Release|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Release|Any CPU.Build.0 = Release|Any CPU
+ {04F3F0D7-6AD3-47A6-9DBD-A6921E0CC575}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD2D6076-D539-4AEB-AC67-F2772A1E8DEB}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {6A3D4432-99DB-4B8A-8F74-EA3993532D9B} = {B4EB3596-887D-4903-9919-A008778BB462}
- {0C76B08F-308F-4152-8376-27F77C4D6801} = {B4EB3596-887D-4903-9919-A008778BB462}
- {2189102C-8698-4760-A2C5-ADED686F84E2} = {6A3D4432-99DB-4B8A-8F74-EA3993532D9B}
- {8C0A9A1D-4A64-41B9-BA3E-B0F3AC3D85AE} = {6A3D4432-99DB-4B8A-8F74-EA3993532D9B}
- {A1DFA06F-A5BA-4306-B688-BD387B9DF0A0} = {B4EB3596-887D-4903-9919-A008778BB462}
- EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {8FB14A47-5E1E-4ECC-8F90-4AAE78F6730C}
+ SolutionGuid = {BA180523-5287-4F52-8E20-0E13A1BC182D}
EndGlobalSection
EndGlobal
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.cs
deleted file mode 100644
index 210f93f14..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-namespace GrialKitApp;
-
-public class App : Application
-{
- protected Window? MainWindow { get; private set; }
- protected IHost? Host { get; private set; }
-
- protected async override void OnLaunched(LaunchActivatedEventArgs args)
- {
- var builder = this.CreateBuilder(args)
- // Add navigation support for toolkit controls such as TabBar and NavigationView
- .UseToolkitNavigation()
- .UseMauiEmbedding(maui => maui
- .UseMauiControls())
- .Configure(host => host
-#if DEBUG
- // Switch to Development environment when running in DEBUG
- .UseEnvironment(Environments.Development)
-#endif
- .UseLogging(configure: (context, logBuilder) =>
- {
- // Configure log levels for different categories of logging
- logBuilder
- .SetMinimumLevel(
- context.HostingEnvironment.IsDevelopment() ?
- LogLevel.Information :
- LogLevel.Warning)
-
- // Default filters for core Uno Platform namespaces
- .CoreLogLevel(LogLevel.Warning);
-
- // Uno Platform namespace filter groups
- // Uncomment individual methods to see more detailed logging
- //// Generic Xaml events
- //logBuilder.XamlLogLevel(LogLevel.Debug);
- //// Layout specific messages
- //logBuilder.XamlLayoutLogLevel(LogLevel.Debug);
- //// Storage messages
- //logBuilder.StorageLogLevel(LogLevel.Debug);
- //// Binding related messages
- //logBuilder.XamlBindingLogLevel(LogLevel.Debug);
- //// Binder memory references tracking
- //logBuilder.BinderMemoryReferenceLogLevel(LogLevel.Debug);
- //// RemoteControl and HotReload related
- //logBuilder.HotReloadCoreLogLevel(LogLevel.Information);
- //// Debug JS interop
- //logBuilder.WebAssemblyLogLevel(LogLevel.Debug);
-
- }, enableUnoLogging: true)
- .UseSerilog(consoleLoggingEnabled: true, fileLoggingEnabled: true)
- .UseConfiguration(configure: configBuilder =>
- configBuilder
- .EmbeddedSource()
- .Section()
- )
- // Enable localization (see appsettings.json for supported languages)
- .UseLocalization()
- .ConfigureServices((context, services) => {
- // TODO: Register your services
- //services.AddSingleton();
- })
- .UseNavigation(RegisterRoutes)
- );
- MainWindow = builder.Window;
-
- Host = await builder.NavigateAsync();
- }
-
- private static void RegisterRoutes(IViewRegistry views, IRouteRegistry routes)
- {
- views.Register(
- new ViewMap(ViewModel: typeof(ShellViewModel)),
- new ViewMap()
- );
-
- routes.Register(
- new RouteMap("", View: views.FindByViewModel(),
- Nested: new RouteMap[]
- {
- new RouteMap("Main", View: views.FindByViewModel())
- }
- )
- );
- }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml
new file mode 100644
index 000000000..581615254
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml.cs
new file mode 100644
index 000000000..b78156580
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/App.xaml.cs
@@ -0,0 +1,112 @@
+using Uno.Resizetizer;
+
+namespace GrialKitApp;
+public partial class App : Application
+{
+ ///
+ /// 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 Window? MainWindow { get; private set; }
+ protected IHost? Host { get; private set; }
+
+ protected override async void OnLaunched(LaunchActivatedEventArgs args)
+ {
+ var builder = this.CreateBuilder(args)
+ // Add navigation support for toolkit controls such as TabBar and NavigationView
+ .UseToolkitNavigation()
+#if MAUI_EMBEDDING
+ .UseMauiEmbedding(maui => maui
+ .UseMauiControls())
+#endif
+ .Configure(host => host
+#if DEBUG
+ // Switch to Development environment when running in DEBUG
+ .UseEnvironment(Environments.Development)
+#endif
+ .UseLogging(configure: (context, logBuilder) =>
+ {
+ // Configure log levels for different categories of logging
+ logBuilder
+ .SetMinimumLevel(
+ context.HostingEnvironment.IsDevelopment() ?
+ LogLevel.Information :
+ LogLevel.Warning)
+
+ // Default filters for core Uno Platform namespaces
+ .CoreLogLevel(LogLevel.Warning);
+
+ // Uno Platform namespace filter groups
+ // Uncomment individual methods to see more detailed logging
+ //// Generic Xaml events
+ //logBuilder.XamlLogLevel(LogLevel.Debug);
+ //// Layout specific messages
+ //logBuilder.XamlLayoutLogLevel(LogLevel.Debug);
+ //// Storage messages
+ //logBuilder.StorageLogLevel(LogLevel.Debug);
+ //// Binding related messages
+ //logBuilder.XamlBindingLogLevel(LogLevel.Debug);
+ //// Binder memory references tracking
+ //logBuilder.BinderMemoryReferenceLogLevel(LogLevel.Debug);
+ //// DevServer and HotReload related
+ //logBuilder.HotReloadCoreLogLevel(LogLevel.Information);
+ //// Debug JS interop
+ //logBuilder.WebAssemblyLogLevel(LogLevel.Debug);
+
+ }, enableUnoLogging: true)
+ .UseConfiguration(configure: configBuilder =>
+ configBuilder
+ .EmbeddedSource()
+ .Section()
+ )
+ // Enable localization (see appsettings.json for supported languages)
+ .UseLocalization()
+ // Register Json serializers (ISerializer and ISerializer)
+ .UseSerialization((context, services) => services
+ .AddContentSerializer(context))
+ .UseHttp((context, services) => services
+ // Register HttpClient
+#if DEBUG
+ // DelegatingHandler will be automatically injected into Refit Client
+ .AddTransient()
+#endif
+ )
+ .ConfigureServices((context, services) =>
+ {
+ // TODO: Register your services
+ //services.AddSingleton();
+ })
+ .UseNavigation(ReactiveViewModelMappings.ViewModelMappings, RegisterRoutes)
+ );
+ MainWindow = builder.Window;
+
+#if DEBUG
+ MainWindow.EnableHotReload();
+#endif
+ MainWindow.SetWindowIcon();
+
+ Host = await builder.NavigateAsync();
+ }
+
+ private static void RegisterRoutes(IViewRegistry views, IRouteRegistry routes)
+ {
+ views.Register(
+ new ViewMap(ViewModel: typeof(ShellModel)),
+ new ViewMap()
+ );
+
+ routes.Register(
+ new RouteMap("", View: views.FindByViewModel(),
+ Nested:
+ [
+ new ("Main", View: views.FindByViewModel()),
+ ]
+ )
+ );
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/AppResources.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/AppResources.xaml
deleted file mode 100644
index 09c63fa0c..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/AppResources.xaml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/iconapp.svg b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon.svg
similarity index 96%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/iconapp.svg
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon.svg
index f621ea597..a15af53aa 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/iconapp.svg
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon.svg
@@ -5,7 +5,7 @@
viewBox="0 0 456 456"
version="1.1"
id="svg453"
- sodipodi:docname="iconapp.old.svg"
+ sodipodi:docname="icon.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/appconfig.svg b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon_foreground.svg
similarity index 99%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/appconfig.svg
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon_foreground.svg
index 3106b1a8b..8ffc41ae3 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Icons/appconfig.svg
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/icon_foreground.svg
@@ -5,7 +5,7 @@
viewBox="0 0 50.369617 49.826836"
version="1.1"
id="svg151"
- sodipodi:docname="appconfig.svg"
+ sodipodi:docname="icon_foreground.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/back.svg b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Images/back.svg
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Icons/back.svg
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Images/back.svg
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/SharedAssets.md b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/SharedAssets.md
index 6d84997f1..1b84a74ab 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/SharedAssets.md
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/SharedAssets.md
@@ -1,14 +1,16 @@
-See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md
+# Shared Assets
-# Here is a cheat sheet:
+See documentation about assets here: https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md
+
+## Here is a cheat sheet
1. Add the image file to the `Assets` directory of a shared project.
2. Set the build action to `Content`.
3. (Recommended) Provide an asset for various scales/dpi
-## Examples
+### Examples
-```
+```text
\Assets\Images\logo.scale-100.png
\Assets\Images\logo.scale-200.png
\Assets\Images\logo.scale-400.png
@@ -18,17 +20,13 @@ See documentation about assets here : https://github.com/unoplatform/uno/blob/ma
\Assets\Images\scale-400\logo.png
```
-## Table of scales
-
-| Scale | UWP | iOS | Android |
-|-------|:-----------:|:--------:|:-------:|
-| `100` | scale-100 | @1x | mdpi |
-| `125` | scale-125 | N/A | N/A |
-| `150` | scale-150 | N/A | hdpi |
-| `200` | scale-200 | @2x | xhdpi |
-| `300` | scale-300 | @3x | xxhdpi |
-| `400` | scale-400 | N/A | xxxhdpi |
-
-
-
+### Table of scales
+| Scale | WinUI | iOS/MacCatalyst | Android |
+|-------|:-----------:|:---------------:|:-------:|
+| `100` | scale-100 | @1x | mdpi |
+| `125` | scale-125 | N/A | N/A |
+| `150` | scale-150 | N/A | hdpi |
+| `200` | scale-200 | @2x | xhdpi |
+| `300` | scale-300 | @3x | xxhdpi |
+| `400` | scale-400 | N/A | xxxhdpi |
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Splash/splash_screen.svg b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Splash/splash_screen.svg
similarity index 99%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Splash/splash_screen.svg
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Splash/splash_screen.svg
index 3106b1a8b..8ffc41ae3 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Base/Splash/splash_screen.svg
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Assets/Splash/splash_screen.svg
@@ -5,7 +5,7 @@
viewBox="0 0 50.369617 49.826836"
version="1.1"
id="svg151"
- sodipodi:docname="appconfig.svg"
+ sodipodi:docname="icon_foreground.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/AppConfig.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/AppConfig.cs
deleted file mode 100644
index c8cd39fff..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/AppConfig.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace GrialKitApp.Business.Models;
-
-public record AppConfig
-{
- public string? Environment { get; init; }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/Entity.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/Entity.cs
deleted file mode 100644
index 1ad1a0e99..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Business/Models/Entity.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-namespace GrialKitApp.Business.Models;
-
-public record Entity(string Name);
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GlobalUsings.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GlobalUsings.cs
index d2f0ffe22..2e6fa1239 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GlobalUsings.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GlobalUsings.cs
@@ -1,20 +1,13 @@
-global using System.Collections.Immutable;
-global using System.Windows.Input;
+global using System.Collections.Immutable;
global using Microsoft.Extensions.DependencyInjection;
-global using Windows.Networking.Connectivity;
-global using Windows.Storage;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Localization;
global using Microsoft.Extensions.Logging;
-global using Microsoft.UI.Xaml;
-global using Microsoft.UI.Xaml.Controls;
-global using Microsoft.UI.Xaml.Media;
-global using Microsoft.UI.Xaml.Navigation;
global using Microsoft.Extensions.Options;
-global using GrialKitApp.Business.Models;
+global using GrialKitApp.Models;
global using GrialKitApp.Presentation;
+global using GrialKitApp.Services.Endpoints;
+#if MAUI_EMBEDDING
global using GrialKitApp.MauiControls;
-global using Windows.ApplicationModel;
+#endif
global using ApplicationExecutionState = Windows.ApplicationModel.Activation.ApplicationExecutionState;
-global using CommunityToolkit.Mvvm.ComponentModel;
-global using CommunityToolkit.Mvvm.Input;
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GrialKitApp.csproj b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GrialKitApp.csproj
index 85f308a93..6a616af65 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GrialKitApp.csproj
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/GrialKitApp.csproj
@@ -1,84 +1,47 @@
-
-
- net8.0-ios;net8.0-android
- $(OverrideTargetFrameworks)
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ net8.0-android;
+ net8.0-ios;
+
+
+ Exe
+ true
+
+
+ GrialControlsTestBed
+
+ com.grialcontrolstestbed
+
+ 1.0
+ 1
+
+
+
+ Material;
+ Hosting;
+ Toolkit;
+ Logging;
+ MauiEmbedding;
+ MVUX;
+ Configuration;
+ Http;
+ Serialization;
+ Localization;
+ Navigation;
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %(Filename)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/AppConfig.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/AppConfig.cs
new file mode 100644
index 000000000..d038d231b
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/AppConfig.cs
@@ -0,0 +1,6 @@
+namespace GrialKitApp.Models;
+
+public record AppConfig
+{
+ public string? Environment { get; init; }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/Entity.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/Entity.cs
new file mode 100644
index 000000000..38e9d16c6
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Models/Entity.cs
@@ -0,0 +1,3 @@
+namespace GrialKitApp.Models;
+
+public record Entity(string Name);
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Package.appxmanifest b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Package.appxmanifest
new file mode 100644
index 000000000..2a5abde6c
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Package.appxmanifest
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+ GrialKitApp
+ GrialKitApp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/AndroidManifest.xml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/AndroidManifest.xml
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/AndroidManifest.xml
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/AndroidManifest.xml
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Assets/AboutAssets.txt b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Assets/AboutAssets.txt
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Assets/AboutAssets.txt
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Assets/AboutAssets.txt
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Main.Android.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Main.Android.cs
new file mode 100644
index 000000000..d23b900c9
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Main.Android.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Com.Nostra13.Universalimageloader.Core;
+using Microsoft.UI.Xaml.Media;
+
+namespace GrialKitApp.Platforms.Android;
+[global::Android.App.ApplicationAttribute(
+ Label = " GrialControlsTestBed",
+ Icon = "@mipmap/icon",
+ LargeHeap = true,
+ HardwareAccelerated = true,
+ Theme = "@style/AppTheme"
+)]
+public class Application : Microsoft.UI.Xaml.NativeApplication
+{
+ public Application(IntPtr javaReference, JniHandleOwnership transfer)
+ : base(() => new App(), javaReference, transfer)
+ {
+ ConfigureUniversalImageLoader();
+ }
+
+ private static void ConfigureUniversalImageLoader()
+ {
+ // Create global configuration and initialize ImageLoader with this config
+ ImageLoaderConfiguration config = new ImageLoaderConfiguration
+ .Builder(Context)
+ .Build();
+
+ ImageLoader.Instance.Init(config);
+
+ ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
+ }
+}
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/MainActivity.Android.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/MainActivity.Android.cs
similarity index 55%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/MainActivity.Android.cs
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/MainActivity.Android.cs
index da562c85a..7b444cdec 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/MainActivity.Android.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/MainActivity.Android.cs
@@ -1,16 +1,15 @@
using Android.App;
-using Android.Widget;
-using Android.OS;
using Android.Content.PM;
+using Android.OS;
using Android.Views;
+using Android.Widget;
namespace GrialKitApp.Droid;
-
[Activity(
- MainLauncher = true,
- ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges,
- WindowSoftInputMode = SoftInput.AdjustNothing | SoftInput.StateHidden
+ MainLauncher = true,
+ ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges,
+ WindowSoftInputMode = SoftInput.AdjustNothing | SoftInput.StateHidden
)]
public class MainActivity : Microsoft.UI.Xaml.ApplicationActivity
{
-}
\ No newline at end of file
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/AboutResources.txt b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/AboutResources.txt
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/AboutResources.txt
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/AboutResources.txt
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/values/Strings.xml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/values/Strings.xml
similarity index 65%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/values/Strings.xml
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/values/Strings.xml
index 23797d360..064aba6a6 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/values/Strings.xml
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/values/Strings.xml
@@ -1,5 +1,5 @@
Hello World, Click Me!
- GrialControlsTestBed
+ GrialKitApp
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/values/Styles.xml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/values/Styles.xml
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/Resources/values/Styles.xml
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/Resources/values/Styles.xml
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/environment.conf b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/environment.conf
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/Android/environment.conf
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/Android/environment.conf
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Entitlements.plist b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Entitlements.plist
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Entitlements.plist
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Entitlements.plist
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Info.plist b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Info.plist
similarity index 95%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Info.plist
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Info.plist
index 981d8e728..ea3dcb4bc 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/iOS/Info.plist
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Info.plist
@@ -30,7 +30,7 @@
UIViewControllerBasedStatusBarAppearance
XSAppIconAssets
- Assets.xcassets/iconapp.appiconset
+ Assets.xcassets/icon.appiconset
UIApplicationSupportsIndirectInputEvents
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Main.iOS.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Main.iOS.cs
new file mode 100644
index 000000000..c14b81ff8
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Main.iOS.cs
@@ -0,0 +1,13 @@
+using UIKit;
+
+namespace GrialKitApp.iOS;
+public class EntryPoint
+{
+ // This is the main entry point of the application.
+ public 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(App));
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
similarity index 100%
rename from UI/MauiEmbedding/GrialKitApp/GrialKitApp.Mobile/MacCatalyst/Media.xcassets/LaunchImages.launchimage/Contents.json
rename to UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/PrivacyInfo.xcprivacy b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/PrivacyInfo.xcprivacy
new file mode 100644
index 000000000..902abb059
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Platforms/iOS/PrivacyInfo.xcprivacy
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryDiskSpace
+ NSPrivacyAccessedAPITypeReasons
+
+ E174.1
+
+
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainModel.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainModel.cs
new file mode 100644
index 000000000..96432a387
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainModel.cs
@@ -0,0 +1,9 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace GrialKitApp.Presentation;
+
+public partial class MainModel : ObservableObject
+{
+
+
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainViewModel.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainViewModel.cs
index 23ca4d03b..a9487f6e1 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainViewModel.cs
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/MainViewModel.cs
@@ -1,3 +1,5 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+
namespace GrialKitApp.Presentation;
public partial class MainViewModel : ObservableObject
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellModel.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellModel.cs
new file mode 100644
index 000000000..b21abaf88
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellModel.cs
@@ -0,0 +1,18 @@
+namespace GrialKitApp.Presentation;
+
+public class ShellModel
+{
+ private readonly INavigator _navigator;
+
+ public ShellModel(
+ INavigator navigator)
+ {
+ _navigator = navigator;
+ _ = Start();
+ }
+
+ public async Task Start()
+ {
+ await _navigator.NavigateViewModelAsync(this);
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellViewModel.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellViewModel.cs
deleted file mode 100644
index ffb85390f..000000000
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Presentation/ShellViewModel.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-namespace GrialKitApp.Presentation;
-
-public class ShellViewModel
-{
- private readonly INavigator _navigator;
-
- public ShellViewModel(
- INavigator navigator)
- {
- _navigator = navigator;
- _ = Start();
- }
-
- public async Task Start()
- {
- await _navigator.NavigateViewModelAsync(this);
- }
-}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Properties/launchSettings.json b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Properties/launchSettings.json
new file mode 100644
index 000000000..f2f931921
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Properties/launchSettings.json
@@ -0,0 +1,12 @@
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:8080",
+ "sslPort": 0
+ }
+ },
+ "profiles": {
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/ReadMe.md b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/ReadMe.md
new file mode 100644
index 000000000..93482da23
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/ReadMe.md
@@ -0,0 +1,7 @@
+# Getting Started
+
+Welcome to the Uno Platform!
+
+To discover how to get started with your new app: https://aka.platform.uno/get-started
+
+For more information on how to use the Uno.Sdk or upgrade Uno Platform packages in your solution: https://aka.platform.uno/using-uno-sdk
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Services/Endpoints/DebugHandler.cs b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Services/Endpoints/DebugHandler.cs
new file mode 100644
index 000000000..9b03cb991
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Services/Endpoints/DebugHandler.cs
@@ -0,0 +1,44 @@
+namespace GrialKitApp.Services.Endpoints;
+
+internal class DebugHttpHandler : DelegatingHandler
+{
+ private readonly ILogger _logger;
+
+ public DebugHttpHandler(ILogger logger, HttpMessageHandler? innerHandler = null)
+ : base(innerHandler ?? new HttpClientHandler())
+ {
+ _logger = logger;
+ }
+
+ protected async override Task SendAsync(
+ HttpRequestMessage request,
+ CancellationToken cancellationToken)
+ {
+ var response = await base.SendAsync(request, cancellationToken);
+#if DEBUG
+ if (!response.IsSuccessStatusCode)
+ {
+ _logger.LogDebugMessage("Unsuccessful API Call");
+ if (request.RequestUri is not null)
+ {
+ _logger.LogDebugMessage($"{request.RequestUri} ({request.Method})");
+ }
+
+ foreach ((var key, var values) in request.Headers.ToDictionary(x => x.Key, x => string.Join(", ", x.Value)))
+ {
+ _logger.LogDebugMessage($"{key}: {values}");
+ }
+
+ var content = request.Content is not null ? await request.Content.ReadAsStringAsync() : null;
+ if (!string.IsNullOrEmpty(content))
+ {
+ _logger.LogDebugMessage(content);
+ }
+
+ // Uncomment to automatically break when an API call fails while debugging
+ // System.Diagnostics.Debugger.Break();
+ }
+#endif
+ return response;
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Styles/ColorPaletteOverride.xaml b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Styles/ColorPaletteOverride.xaml
new file mode 100644
index 000000000..b36ff05f7
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/Styles/ColorPaletteOverride.xaml
@@ -0,0 +1,64 @@
+
+
+
+ #5946D2
+ #FFFFFF
+ #E5DEFF
+ #170065
+ #6B4EA2
+ #FFFFFF
+ #EBDDFF
+ #220555
+ #0061A4
+ #FFFFFF
+ #CFE4FF
+ #001D36
+ #B3261E
+ #F9DEDC
+ #FFFFFF
+ #410E0B
+ #FCFBFF
+ #1C1B1F
+ #FFFFFF
+ #1C1B1F
+ #F2EFF5
+ #8B8494
+ #79747E
+ #F4EFF4
+ #313033
+ #C8BFFF
+ #5946D2
+ #C9C5D0
+
+
+ #C7BFFF
+ #2A009F
+ #4129BA
+ #E4DFFF
+ #CDC2DC
+ #332D41
+ #433C52
+ #EDDFFF
+ #9FCAFF
+ #003258
+ #00497D
+ #D1E4FF
+ #FFB4AB
+ #93000A
+ #690005
+ #FFDAD6
+ #1C1B1F
+ #E5E1E6
+ #302D37
+ #E6E1E5
+ #47464F
+ #C9C5D0
+ #928F99
+ #1C1B1F
+ #E6E1E5
+ #2A009F
+ #C7BFFF
+ #57545D
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/app.manifest b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/app.manifest
new file mode 100644
index 000000000..8f0268eaa
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/app.manifest
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true/PM
+ PerMonitorV2, PerMonitor
+
+
+
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.development.json b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.development.json
index 31a70b722..2cf8df520 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.development.json
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.development.json
@@ -1,5 +1,9 @@
{
"AppConfig": {
"Environment": "Development"
+ },
+ "ApiClient": {
+ "Url": "https://localhost:5002",
+ "UseNativeHandler": true
}
}
diff --git a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.json b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.json
index 187e4d5cf..aa890ef1e 100644
--- a/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.json
+++ b/UI/MauiEmbedding/GrialKitApp/GrialKitApp/appsettings.json
@@ -2,6 +2,9 @@
"AppConfig": {
"Environment": "Production"
},
+ "ApiClient": {
+ "UseNativeHandler": true
+ },
"LocalizationConfiguration": {
"Cultures": [
"es",
diff --git a/UI/MauiEmbedding/GrialKitApp/ReadMe.md b/UI/MauiEmbedding/GrialKitApp/ReadMe.md
deleted file mode 100644
index c9078eb5f..000000000
--- a/UI/MauiEmbedding/GrialKitApp/ReadMe.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# .NET MAUI Embedding Sample App - Grial UI Kit for .NET MAUI
-
-This sample app embeds the [Grial UI Kit for .NET MAUI](https://grialkit.com/) in an Uno Platform application.
-
-For more information on how to use the controls from GrialKit in an Uno Platform application via .NET MAUI Embedding, please visit [our documentation here](https://aka.platform.uno/maui-embedding-sample-app-grialkit).
-
-
-
-> [!NOTE]
-> In order to use the Grial UI Kit controls, you first need to [sign up](https://admin.grialkit.com/secure/grial/front/signup).
-
-> After signing up, when you log in to the [admin portal](https://admin.grialkit.com), you'll be prompted to create a Grial app by entering the name of the application. Once you've created the Grial app, go to the Download tab and select `Download Kickoff Solution` - at this point, you'll be prompted to purchase a license, which you'll need in order to proceed with using Grial.
-
-> Extract the downloaded zip file and locate the GrialLicense file. We'll add this file to the Uno application. Also in the zip file, open the csproj file and retrieve the ApplicationTitle and ApplicationId property values.
-
-```xml
-
-[ApplicationTitle]
-
-[ApplicationId]
-```
-> The last thing we'll need from the zip file is the nuget.config file. This file will also be added to the Uno application.
-
-## List of controls used in this sample
-- Area Chart
-- Bar Chart
-- Bar Multi Series
-- Line Chart
-- Pie Chart
-
-## Sample App - Examples
-
-### Android
-
- 
-
-### iOS
-
- 
-
-## Sample App - Issues
-If you encounter any issues with this sample, please open an issue [here](https://github.com/unoplatform/uno/issues).
\ No newline at end of file
diff --git a/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_Android.png b/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_Android.png
deleted file mode 100644
index 46fd92b26..000000000
Binary files a/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_Android.png and /dev/null differ
diff --git a/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_iOS.png b/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_iOS.png
deleted file mode 100644
index 484c099d5..000000000
Binary files a/UI/MauiEmbedding/GrialKitApp/doc/assets/GrialKit_iOS.png and /dev/null differ
diff --git a/UI/MauiEmbedding/GrialKitApp/doc/assets/third-party-sample-grialkit.gif b/UI/MauiEmbedding/GrialKitApp/doc/assets/third-party-sample-grialkit.gif
deleted file mode 100644
index 8cafc2930..000000000
Binary files a/UI/MauiEmbedding/GrialKitApp/doc/assets/third-party-sample-grialkit.gif and /dev/null differ
diff --git a/UI/MauiEmbedding/GrialKitApp/global.json b/UI/MauiEmbedding/GrialKitApp/global.json
new file mode 100644
index 000000000..7711a32aa
--- /dev/null
+++ b/UI/MauiEmbedding/GrialKitApp/global.json
@@ -0,0 +1,6 @@
+{
+ // To update the version of Uno please update the version of the Uno.Sdk here. See https://aka.platform.uno/upgrade-uno-packages for more information.
+ "msbuild-sdks": {
+ "Uno.Sdk": "5.2.161"
+ }
+}
diff --git a/UI/MauiEmbedding/GrialKitApp/solution-config.props.sample b/UI/MauiEmbedding/GrialKitApp/solution-config.props.sample
deleted file mode 100644
index 17e1343de..000000000
--- a/UI/MauiEmbedding/GrialKitApp/solution-config.props.sample
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-