diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.editorconfig b/UI/MauiEmbedding/MauiCommunityToolkitApp/.editorconfig
new file mode 100644
index 000000000..b947be645
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.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/MauiCommunityToolkitApp/.gitattributes b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitattributes
new file mode 100644
index 000000000..1ff0c4230
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore
index bc55501a7..ef88c2053 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.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/MauiCommunityToolkitApp/.vscode/tasks.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json
index 02ee36589..54d839243 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json
@@ -1,6 +1,5 @@
{
"version": "2.0.0",
"tasks": [
-
]
}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig
index 1c9c22808..2eb121686 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig
@@ -5,34 +5,23 @@
"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.ComponentGroup.MSIX.Packaging",
"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/MauiCommunityToolkitApp/Directory.Build.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props
index 89caf9ab0..dc10c396d 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/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.23
+ 6.0.24
+ 5.0.13
+ 5.2.14
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets
index 30332cf7d..f75adf7e4 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets
@@ -1,6 +1,2 @@
-
-
-
-
-
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props
index 1cae68bc8..ebaa716bd 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props
@@ -1,38 +1,14 @@
-
-
-
-
-
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml
deleted file mode 100644
index 0910af3e4..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs
deleted file mode 100644
index 496306b2f..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Microsoft.UI.Xaml;
-using Uno.Resizetizer;
-
-namespace MauiCommunityToolkitApp;
-
-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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj
deleted file mode 100644
index 82a9732e3..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- net8.0
- false
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props
deleted file mode 100644
index 9b39b5c0e..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml
index 8ef0da32d..0cd4e8a95 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml
@@ -1,13 +1,15 @@
+ xmlns:local="clr-namespace:MauiCommunityToolkitApp"
+ x:Class="MauiCommunityToolkitApp.MauiControls.App">
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs
index b379c2797..551d71754 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs
@@ -1,9 +1,9 @@
-namespace MauiCommunityToolkitApp.MauiControls;
+namespace MauiCommunityToolkitApp.MauiControls;
public partial class App : Application
{
- public App()
- {
- InitializeComponent();
- }
+ public App()
+ {
+ InitializeComponent();
+ }
}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs
index b743d7387..b18868eed 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs
@@ -1,15 +1,16 @@
using CommunityToolkit.Maui;
-namespace MauiCommunityToolkitApp;
+namespace MauiEmbeddingApp;
public static class AppBuilderExtensions
{
- public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder) =>
- builder
- .UseMauiCommunityToolkit()
- .ConfigureFonts(fonts =>
- {
- fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular");
- fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold");
- });
-}
\ No newline at end of file
+ public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder)
+ => builder
+ .UseMauiCommunityToolkit()
+ .UseMauiCommunityToolkit(options => options.SetShouldEnableSnackbarOnWindows(true))
+ .ConfigureFonts(fonts =>
+ {
+ fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular");
+ fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold");
+ });
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml
new file mode 100644
index 000000000..0fc0ce923
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml
@@ -0,0 +1,14 @@
+
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs
new file mode 100644
index 000000000..8644c6153
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs
@@ -0,0 +1,9 @@
+namespace MauiCommunityToolkitApp.MauiControls;
+
+public partial class EmbeddedControl : ContentView
+{
+ public EmbeddedControl()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj
index afc3c363f..b5f48dbe7 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj
@@ -1,42 +1,23 @@
-
- $(TargetFrameworks);net8.0-windows10.0.19041
- $(TargetFrameworks);net8.0;net8.0-ios;net8.0-android;net8.0-maccatalyst
- $(OverrideTargetFrameworks)
+
+ net8.0-windows10.0.19041
+
+ net8.0;
+ net8.0-android;
+ net8.0-ios;
+ net8.0-maccatalyst;
+ $(TargetFrameworks);
+
- true
- true
-
+ true
+ true
+
-
-
-
-
-
-
-
-
- AvatarControl.xaml
-
-
-
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
+
+
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs
new file mode 100644
index 000000000..18db9ea36
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs
@@ -0,0 +1,19 @@
+using System.Globalization;
+
+namespace MauiCommunityToolkitApp;
+public class UnoImageConverter : IValueConverter
+{
+ public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
+ {
+#if ANDROID
+ return (value + "").Replace('/','_').Replace('\\','_');
+#else
+ return value;
+#endif
+ }
+
+ public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Main.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Main.Android.cs
deleted file mode 100644
index e0185e6de..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.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 MauiCommunityToolkitApp.Droid;
-
-[global::Android.App.ApplicationAttribute(
- Label = "@string/ApplicationName",
- 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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs
deleted file mode 100644
index ee5161634..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using UIKit;
-
-namespace MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj
deleted file mode 100644
index e29acaa1c..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
- net8.0-ios;net8.0-android;net8.0-maccatalyst
- $(OverrideTargetFrameworks)
- true
- Exe
-
- MauiCommunityToolkitApp
-
- com.companyname.mauicommunitytoolkitapp
- BBBE7CB0-EF36-4CE4-99B2-C6A9E7EDB165
-
- 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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs
deleted file mode 100644
index 1ae8e394f..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using UIKit;
-
-namespace MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj
deleted file mode 100644
index ff0696f25..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
- WinExe
- net8.0-windows10.0.19041.0
- 10.0.19041.0
- MauiCommunityToolkitApp.Windows
- app.manifest
- x86;x64;arm64
- win-x86;win-x64;win-arm64
-
- win-$(Platform).pubxml
- true
- true
-
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest
deleted file mode 100644
index 466692e5a..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
- MauiCommunityToolkitApp
- MauiCommunityToolkitApp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json
deleted file mode 100644
index 8c1ba4877..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "profiles": {
- "MauiCommunityToolkitApp.Windows (Package)": {
- "commandName": "MsixPackage"
- },
- "MauiCommunityToolkitApp.Windows (Unpackaged)": {
- "commandName": "Project"
- }
- }
-}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw
deleted file mode 100644
index fad04be56..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Hello World!
-
-
\ No newline at end of file
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest
deleted file mode 100644
index da5c87752..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true/PM
- PerMonitorV2, PerMonitor
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln
index 1331bb22f..a90efbddc 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln
@@ -1,221 +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", "{D26D59B7-A2D3-451E-AE4B-74036DD82C5A}"
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MauiCommunityToolkitApp", "MauiCommunityToolkitApp\MauiCommunityToolkitApp.csproj", "{BDBC5F70-271F-47E5-B19B-C9584D77BA3D}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{5BB4B2E6-662B-4DCB-9037-1FC755443186}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MauiCommunityToolkitApp.MauiControls", "MauiCommunityToolkitApp.MauiControls\MauiCommunityToolkitApp.MauiControls.csproj", "{B8694B90-C642-43B8-950D-2DD8E207EBCD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp", "MauiCommunityToolkitApp\MauiCommunityToolkitApp.csproj", "{A0422F06-8022-43A5-A998-FCE18CBC7461}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Base", "MauiCommunityToolkitApp.Base\MauiCommunityToolkitApp.Base.csproj", "{2189102C-8698-4760-A2C5-ADED686F84E2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Mobile", "MauiCommunityToolkitApp.Mobile\MauiCommunityToolkitApp.Mobile.csproj", "{34E158E0-CECC-4EF1-9935-1E9CB383D059}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Windows", "MauiCommunityToolkitApp.Windows\MauiCommunityToolkitApp.Windows.csproj", "{8560C1A6-151A-4839-965B-10A73AD6404D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.MauiControls", "MauiCommunityToolkitApp.MauiControls\MauiCommunityToolkitApp.MauiControls.csproj", "{A5214153-5E11-438F-9EF3-0AD2A79B6CC4}"
-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", "{04D10DF8-DB0E-4847-8BF7-99B30AB6BA0C}"
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
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM64.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhone.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x64.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x86.Build.0 = Debug|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|Any CPU.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM64.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM64.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhone.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhone.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x64.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x64.Build.0 = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x86.ActiveCfg = Release|Any CPU
- {A0422F06-8022-43A5-A998-FCE18CBC7461}.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
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.ActiveCfg = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.Build.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.Deploy.0 = Debug|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.Deploy.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.ActiveCfg = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.Build.0 = Release|Any CPU
- {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.Deploy.0 = Release|Any CPU
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.ActiveCfg = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.Build.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.Deploy.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.ActiveCfg = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.Build.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.Deploy.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.ActiveCfg = Debug|arm64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.Build.0 = Debug|arm64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.Deploy.0 = Debug|arm64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.ActiveCfg = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.Build.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.Deploy.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.ActiveCfg = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.Build.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.Deploy.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x64.ActiveCfg = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x64.Build.0 = Debug|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x86.ActiveCfg = Debug|x86
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x86.Build.0 = Debug|x86
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.ActiveCfg = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.Build.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.Deploy.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM.ActiveCfg = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM.Build.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM64.ActiveCfg = Release|arm64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM64.Build.0 = Release|arm64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhone.ActiveCfg = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhone.Build.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhoneSimulator.ActiveCfg = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhoneSimulator.Build.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x64.ActiveCfg = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x64.Build.0 = Release|x64
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x86.ActiveCfg = Release|x86
- {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x86.Build.0 = Release|x86
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM64.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhone.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x64.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x86.Build.0 = Debug|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|Any CPU.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM64.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM64.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhone.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhone.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x64.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x64.Build.0 = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x86.ActiveCfg = Release|Any CPU
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x86.Build.0 = Release|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {5BB4B2E6-662B-4DCB-9037-1FC755443186} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A}
- {A0422F06-8022-43A5-A998-FCE18CBC7461} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A}
- {2189102C-8698-4760-A2C5-ADED686F84E2} = {5BB4B2E6-662B-4DCB-9037-1FC755443186}
- {34E158E0-CECC-4EF1-9935-1E9CB383D059} = {5BB4B2E6-662B-4DCB-9037-1FC755443186}
- {8560C1A6-151A-4839-965B-10A73AD6404D} = {5BB4B2E6-662B-4DCB-9037-1FC755443186}
- {A5214153-5E11-438F-9EF3-0AD2A79B6CC4} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A}
- EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {9A4A4227-F715-4B66-8FA7-1837ADB749B1}
+ SolutionGuid = {324488F3-07E6-4AB8-994B-83011B540FA4}
EndGlobalSection
EndGlobal
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml
new file mode 100644
index 000000000..f53faf311
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs
similarity index 61%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs
index 7d6dc7d4c..4d152a67a 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs
@@ -1,17 +1,30 @@
-namespace MauiCommunityToolkitApp;
+using MauiEmbeddingApp;
+using Uno.Resizetizer;
-public class App : Application
+namespace MauiCommunityToolkitApp;
+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 async override void OnLaunched(LaunchActivatedEventArgs args)
+ protected override async 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())
+ // 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
@@ -41,13 +54,12 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args)
//logBuilder.XamlBindingLogLevel(LogLevel.Debug);
//// Binder memory references tracking
//logBuilder.BinderMemoryReferenceLogLevel(LogLevel.Debug);
- //// RemoteControl and HotReload related
+ //// DevServer 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()
@@ -55,31 +67,47 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args)
)
// 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(RegisterRoutes)
+ .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(ShellViewModel)),
- new ViewMap()
+ new ViewMap(ViewModel: typeof(ShellModel)),
+ new ViewMap()
);
routes.Register(
- new RouteMap("", View: views.FindByViewModel(),
- Nested: new RouteMap[]
- {
- new RouteMap("Main", View: views.FindByViewModel()),
- }
+ new RouteMap("", View: views.FindByViewModel(),
+ Nested:
+ [
+ new ("Main", View: views.FindByViewModel()),
+ ]
)
);
}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml
deleted file mode 100644
index 09c63fa0c..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon.svg
similarity index 96%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon.svg
index f621ea597..a15af53aa 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon_foreground.svg
similarity index 99%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon_foreground.svg
index 3106b1a8b..8ffc41ae3 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/back.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Images/back.svg
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/back.svg
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Images/back.svg
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md
index 6d84997f1..1b84a74ab 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Splash/splash_screen.svg
similarity index 99%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Splash/splash_screen.svg
index 3106b1a8b..8ffc41ae3 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs
deleted file mode 100644
index 5a0b04155..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace MauiCommunityToolkitApp.Business.Models;
-
-public record AppConfig
-{
- public string? Environment { get; init; }
-}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs
deleted file mode 100644
index e415e37c4..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-namespace MauiCommunityToolkitApp.Business.Models;
-
-public record Entity(string Name);
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs
index 11339b9be..a14a7ae1e 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs
@@ -1,21 +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 MauiCommunityToolkitApp.Business.Models;
-global using MauiCommunityToolkitApp.Infrastructure;
+global using MauiCommunityToolkitApp.Models;
global using MauiCommunityToolkitApp.Presentation;
+global using MauiCommunityToolkitApp.Services.Endpoints;
+#if MAUI_EMBEDDING
global using MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs
deleted file mode 100644
index 2637fb7d9..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace MauiCommunityToolkitApp.Infrastructure;
-
-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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj
index 0a1be91b4..f7da22fc0 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj
@@ -1,90 +1,60 @@
-
-
- $(TargetFrameworks);net8.0-windows10.0.19041
- $(TargetFrameworks);net8.0;net8.0-ios;net8.0-android;net8.0-maccatalyst
- $(OverrideTargetFrameworks)
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ net8.0-android;
+ net8.0-ios;
+ net8.0-maccatalyst;
+ net8.0-windows10.0.19041;
+
+
+ Exe
+ true
+
+
+ MauiCommunityToolkitApp
+
+ com.companyname.MauiCommunityToolkitApp
+
+ 1.0
+ 1
+
+
+
+
+
+ Hosting;
+ Toolkit;
+ Logging;
+ MauiEmbedding;
+ MVUX;
+ Configuration;
+ Http;
+ Serialization;
+ Localization;
+ Navigation;
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %(Filename)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs
new file mode 100644
index 000000000..98a5cb55c
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs
@@ -0,0 +1,6 @@
+namespace MauiCommunityToolkitApp.Models;
+
+public record AppConfig
+{
+ public string? Environment { get; init; }
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs
new file mode 100644
index 000000000..65e2e34c0
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs
@@ -0,0 +1,3 @@
+namespace MauiCommunityToolkitApp.Models;
+
+public record Entity(string Name);
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest
new file mode 100644
index 000000000..3c5a0ee32
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+ MauiCommunityToolkitApp
+ MauiCommunityToolkitApp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/AndroidManifest.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/AndroidManifest.xml
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/AndroidManifest.xml
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/AndroidManifest.xml
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Assets/AboutAssets.txt b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Assets/AboutAssets.txt
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Assets/AboutAssets.txt
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Assets/AboutAssets.txt
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Main.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Main.Android.cs
new file mode 100644
index 000000000..baaf14466
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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 MauiCommunityToolkitApp.Droid;
+[global::Android.App.ApplicationAttribute(
+ Label = "@string/ApplicationName",
+ 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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/MainActivity.Android.cs
similarity index 56%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/MainActivity.Android.cs
index fdadb41a8..537f20ee0 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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 MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/AboutResources.txt b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/AboutResources.txt
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/AboutResources.txt
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/AboutResources.txt
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Strings.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Strings.xml
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Strings.xml
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Strings.xml
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Styles.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Styles.xml
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Styles.xml
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Styles.xml
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/environment.conf b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/environment.conf
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/environment.conf
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/environment.conf
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Entitlements.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Entitlements.plist
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Entitlements.plist
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Entitlements.plist
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist
similarity index 93%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist
index 5a4053db4..1bb02ddcd 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist
@@ -15,7 +15,7 @@
UIInterfaceOrientationLandscapeRight
XSAppIconAssets
- Assets.xcassets/iconapp.appiconset
+ Assets.xcassets/icon.appiconset
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml
similarity index 67%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml
index 856e8539a..4fea954ee 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml
@@ -12,9 +12,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
False
False
True
-
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml
similarity index 67%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml
index 9b21ba042..928cb25eb 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml
@@ -12,9 +12,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
False
False
True
-
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Entitlements.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Entitlements.plist
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Entitlements.plist
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Entitlements.plist
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist
similarity index 95%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist
index 981d8e728..ea3dcb4bc 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist
@@ -30,7 +30,7 @@
UIViewControllerBasedStatusBarAppearance
XSAppIconAssets
- Assets.xcassets/iconapp.appiconset
+ Assets.xcassets/icon.appiconset
UIApplicationSupportsIndirectInputEvents
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs
new file mode 100644
index 000000000..8137ac223
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs
@@ -0,0 +1,13 @@
+using UIKit;
+
+namespace MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
similarity index 100%
rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/PrivacyInfo.xcprivacy b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/PrivacyInfo.xcprivacy
new file mode 100644
index 000000000..902abb059
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs
index aa02c7db6..1e64bcded 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs
@@ -1,4 +1,6 @@
-namespace MauiCommunityToolkitApp.Presentation;
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace MauiCommunityToolkitApp.Presentation;
partial class DrawingViewViewModel : ObservableObject
{
[ObservableProperty]
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs
new file mode 100644
index 000000000..cf47f9700
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs
@@ -0,0 +1,34 @@
+namespace MauiCommunityToolkitApp.Presentation;
+
+public partial record MainModel
+{
+ private INavigator _navigator;
+
+ public MainModel(
+ IStringLocalizer localizer,
+ IOptions appInfo,
+ INavigator navigator)
+ {
+ _navigator = navigator;
+ Title = "Main";
+ Title += $" - {localizer["ApplicationName"]}";
+ Title += $" - {appInfo?.Value?.Environment}";
+ }
+
+ public string? Title { get; }
+
+ public IState Name => State.Value(this, () => string.Empty);
+
+ public IState Count => State.Value(this, () => 0);
+
+ public IFeed CounterText => Count.Select(_currentCount => _currentCount switch
+ {
+ 0 => "Press Me",
+ 1 => "Pressed Once!",
+ _ => $"Pressed {_currentCount} times!"
+ });
+
+ public async Task Counter(CancellationToken ct) =>
+ await Count.Update(x => ++x, ct);
+
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs
index 511a2372c..d73d53a62 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs
@@ -1,3 +1,5 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+
namespace MauiCommunityToolkitApp.Presentation;
public partial class MainViewModel : ObservableObject
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs
new file mode 100644
index 000000000..76d59acc5
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs
@@ -0,0 +1,18 @@
+namespace MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json
new file mode 100644
index 000000000..3f36bb610
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json
@@ -0,0 +1,21 @@
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:8080",
+ "sslPort": 0
+ }
+ },
+ "profiles": {
+ // Note: In order to select this profile, you'll need to comment the `Packaged` profile below until this is fixed: https://aka.platform.uno/wasdk-maui-debug-profile-issue
+ "MauiCommunityToolkitApp (WinAppSDK Unpackaged)": {
+ "commandName": "Project",
+ "compatibleTargetFramework": "windows"
+ },
+ "MauiCommunityToolkitApp (WinAppSDK Packaged)": {
+ "commandName": "MsixPackage",
+ "compatibleTargetFramework": "windows"
+ },
+ }
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ReadMe.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ReadMe.md
new file mode 100644
index 000000000..93482da23
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs
new file mode 100644
index 000000000..f201a1187
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs
@@ -0,0 +1,44 @@
+namespace MauiCommunityToolkitApp.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/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs
new file mode 100644
index 000000000..51bec95fe
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs
@@ -0,0 +1,12 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace MauiEmbeddingApp.ViewModels;
+
+partial class MainViewModel : ObservableObject
+{
+ [ObservableProperty]
+ bool isMultiLineModeEnabled;
+
+ [ObservableProperty]
+ bool shouldCleanOnFinish;
+}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest
new file mode 100644
index 000000000..0977b39a5
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true/PM
+ PerMonitorV2, PerMonitor
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json
index a692bed41..2cf8df520 100644
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json
@@ -3,7 +3,7 @@
"Environment": "Development"
},
"ApiClient": {
- "Url": "https://localhost:5001",
+ "Url": "https://localhost:5002",
"UseNativeHandler": true
}
}
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md
deleted file mode 100644
index bd2e1dcd0..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# .NET MAUI Embedding Sample App - .NET MAUI Community Toolkit
-
-This sample app embeds the [.NET MAUI Community Toolkit](https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/) in an Uno Platform application.
-
-For more information on how to use the .NET MAUI Community Toolkit in an Uno Platform application via .NET MAUI Embedding, please visit [our documentation here](https://aka.platform.uno/maui-embedding-sample-app-mauicommunitytoolkit).
-
-
-
-## List of controls used in this sample
-- Avatar
-- DrawingView
-- Exdpander
-- Toast
-- Snackbar
-
-## Sample App - Examples
-
-### Windows
-
- 
-
-### Android
-
- 
-
-## 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/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png
deleted file mode 100644
index 96ea01b3c..000000000
Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png and /dev/null differ
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png
deleted file mode 100644
index dd6443352..000000000
Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png and /dev/null differ
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif
deleted file mode 100644
index df54dd082..000000000
Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif and /dev/null differ
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/global.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/global.json
new file mode 100644
index 000000000..7711a32aa
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/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/MauiCommunityToolkitApp/nuget.config b/UI/MauiEmbedding/MauiCommunityToolkitApp/nuget.config
new file mode 100644
index 000000000..3242ec407
--- /dev/null
+++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/nuget.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample b/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample
deleted file mode 100644
index 17e1343de..000000000
--- a/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-