diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index 4428a0e8d30b..c64e2ff6ab7e 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -56,7 +56,7 @@
-
+
diff --git a/src/SamplesApp/SamplesApp.Droid/SamplesApp.Droid.csproj b/src/SamplesApp/SamplesApp.Droid/SamplesApp.Droid.csproj
index ac6193ebe547..68c854448ec9 100644
--- a/src/SamplesApp/SamplesApp.Droid/SamplesApp.Droid.csproj
+++ b/src/SamplesApp/SamplesApp.Droid/SamplesApp.Droid.csproj
@@ -94,7 +94,7 @@
1.34.0
-
+
1.2.0.7
@@ -264,4 +264,4 @@
<_ExplicitReference Remove="@(_FilteredExplicitReference)" />
-
\ No newline at end of file
+
diff --git a/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj b/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj
index 4c51913f1b43..acdb036615de 100644
--- a/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj
+++ b/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj
@@ -55,11 +55,11 @@
-
+
-
+
diff --git a/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Mobile/UnoQuickStart.Mobile.csproj b/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Mobile/UnoQuickStart.Mobile.csproj
index bbb110f83272..fb3e5e486378 100644
--- a/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Mobile/UnoQuickStart.Mobile.csproj
+++ b/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Mobile/UnoQuickStart.Mobile.csproj
@@ -37,7 +37,7 @@
-
+
@@ -52,7 +52,7 @@
$(MtouchExtraArgs) --marshal-objectivec-exceptions:disable
-
+
@@ -72,7 +72,7 @@
-
+
diff --git a/src/SolutionTemplate/UnoSolutionTemplate.net6/Mobile/UnoQuickStart.Mobile.csproj b/src/SolutionTemplate/UnoSolutionTemplate.net6/Mobile/UnoQuickStart.Mobile.csproj
index 4fdc66d95ffd..5f88dc992093 100644
--- a/src/SolutionTemplate/UnoSolutionTemplate.net6/Mobile/UnoQuickStart.Mobile.csproj
+++ b/src/SolutionTemplate/UnoSolutionTemplate.net6/Mobile/UnoQuickStart.Mobile.csproj
@@ -35,7 +35,7 @@
-
+
@@ -49,7 +49,7 @@
$(MtouchExtraArgs) --marshal-objectivec-exceptions:disable
-
+
@@ -68,7 +68,7 @@
-
+
diff --git a/src/SolutionTemplate/UnoSolutionTemplate/iOS/UnoQuickStart.iOS.csproj b/src/SolutionTemplate/UnoSolutionTemplate/iOS/UnoQuickStart.iOS.csproj
index d6c98a4c8edc..ec92ba97c43b 100644
--- a/src/SolutionTemplate/UnoSolutionTemplate/iOS/UnoQuickStart.iOS.csproj
+++ b/src/SolutionTemplate/UnoSolutionTemplate/iOS/UnoQuickStart.iOS.csproj
@@ -117,7 +117,7 @@
-
+
diff --git a/src/UnoItemTemplate/BlankPage/BlankPage.png b/src/UnoItemTemplate/BlankPage.UWP/BlankPage.png
similarity index 100%
rename from src/UnoItemTemplate/BlankPage/BlankPage.png
rename to src/UnoItemTemplate/BlankPage.UWP/BlankPage.png
diff --git a/src/UnoItemTemplate/BlankPage/BlankPage.vstemplate b/src/UnoItemTemplate/BlankPage.UWP/BlankPage.uwp.vstemplate
similarity index 100%
rename from src/UnoItemTemplate/BlankPage/BlankPage.vstemplate
rename to src/UnoItemTemplate/BlankPage.UWP/BlankPage.uwp.vstemplate
diff --git a/src/UnoItemTemplate/BlankPage/BlankPage.xaml b/src/UnoItemTemplate/BlankPage.UWP/BlankPage.xaml
similarity index 100%
rename from src/UnoItemTemplate/BlankPage/BlankPage.xaml
rename to src/UnoItemTemplate/BlankPage.UWP/BlankPage.xaml
diff --git a/src/UnoItemTemplate/BlankPage/BlankPage.xaml.cs b/src/UnoItemTemplate/BlankPage.UWP/BlankPage.xaml.cs
similarity index 100%
rename from src/UnoItemTemplate/BlankPage/BlankPage.xaml.cs
rename to src/UnoItemTemplate/BlankPage.UWP/BlankPage.xaml.cs
diff --git a/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.png b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.png
new file mode 100644
index 000000000000..e0ad5edfc81e
Binary files /dev/null and b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.png differ
diff --git a/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.winui.vstemplate b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.winui.vstemplate
new file mode 100644
index 000000000000..d0302f5e7471
--- /dev/null
+++ b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.winui.vstemplate
@@ -0,0 +1,19 @@
+
+
+
+ Page (Uno Platform WinUI 3)
+ A Page control
+
+ Uno.WinUI.CS.BlankPage
+ CSharp + SharedAssetsProject
+ CSharp
+ 1
+ BlankPage.xaml
+ 40
+ BlankPage.png
+
+
+ BlankPage.xaml
+ BlankPage.xaml.cs
+
+
diff --git a/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml
new file mode 100644
index 000000000000..537a56048492
--- /dev/null
+++ b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml.cs b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml.cs
new file mode 100644
index 000000000000..fc1ac288a74c
--- /dev/null
+++ b/src/UnoItemTemplate/BlankPage.WinUI/BlankPage.xaml.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Controls.Primitives;
+using Microsoft.UI.Xaml.Data;
+using Microsoft.UI.Xaml.Input;
+using Microsoft.UI.Xaml.Media;
+using Microsoft.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace $rootnamespace$
+{
+ ///
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ ///
+ public sealed partial class $safeitemname$ : Page
+ {
+ public $safeitemname$()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
diff --git a/src/UnoItemTemplate/ContentDialog/ContentDialog.vstemplate b/src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.vstemplate
similarity index 100%
rename from src/UnoItemTemplate/ContentDialog/ContentDialog.vstemplate
rename to src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.vstemplate
diff --git a/src/UnoItemTemplate/ContentDialog/ContentDialog.xaml b/src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.xaml
similarity index 100%
rename from src/UnoItemTemplate/ContentDialog/ContentDialog.xaml
rename to src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.xaml
diff --git a/src/UnoItemTemplate/ContentDialog/ContentDialog.xaml.cs b/src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.xaml.cs
similarity index 100%
rename from src/UnoItemTemplate/ContentDialog/ContentDialog.xaml.cs
rename to src/UnoItemTemplate/ContentDialog.UWP/ContentDialog.xaml.cs
diff --git a/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.winui.vstemplate b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.winui.vstemplate
new file mode 100644
index 000000000000..25254e76bae4
--- /dev/null
+++ b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.winui.vstemplate
@@ -0,0 +1,18 @@
+
+
+
+ ContentDialog (Uno Platform WinUI 3)
+ A ContentDialog control
+
+ Uno.WinUI.CS.ContentDialog
+ CSharp + SharedAssetsProject
+ CSharp
+ 1
+ ContentDialog.xaml
+ 40
+
+
+ ContentDialog.xaml
+ ContentDialog.xaml.cs
+
+
diff --git a/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml
new file mode 100644
index 000000000000..f55235a4c8a6
--- /dev/null
+++ b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml.cs b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml.cs
new file mode 100644
index 000000000000..8c3ba4512422
--- /dev/null
+++ b/src/UnoItemTemplate/ContentDialog.WinUI/ContentDialog.xaml.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Controls.Primitives;
+using Microsoft.UI.Xaml.Data;
+using Microsoft.UI.Xaml.Input;
+using Microsoft.UI.Xaml.Media;
+using Microsoft.UI.Xaml.Navigation;
+
+namespace $rootnamespace$
+{
+ public sealed partial class $safeitemname$ : ContentDialog
+ {
+ public $safeitemname$()
+ {
+ this.InitializeComponent();
+ }
+
+ private void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
+ {
+ }
+
+ private void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
+ {
+ }
+ }
+}
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.vstemplate b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.uwp.vstemplate
similarity index 100%
rename from src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.vstemplate
rename to src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.uwp.vstemplate
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.xaml b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.xaml
similarity index 100%
rename from src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.xaml
rename to src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.xaml
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.xaml.cs b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.xaml.cs
similarity index 100%
rename from src/UnoItemTemplate/ResourceDictionaryWithCodeBehind/ResourceDictionaryWithCodeBehind.xaml.cs
rename to src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.UWP/ResourceDictionaryWithCodeBehind.xaml.cs
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.winui.vstemplate b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.winui.vstemplate
new file mode 100644
index 000000000000..a69573538163
--- /dev/null
+++ b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.winui.vstemplate
@@ -0,0 +1,18 @@
+
+
+
+ ResourceDictionary with code behind (Uno Platform WinUI 3)
+ A ResourceDictionary with code behind.
+
+ Uno.WinUI.CS.ResourceDictionaryWithCodeBehind
+ CSharp + SharedAssetsProject
+ CSharp
+ 1
+ ResourceDictionaryWithCodeBehind.xaml
+ 40
+
+
+ ResourceDictionaryWithCodeBehind.xaml
+ ResourceDictionaryWithCodeBehind.xaml.cs
+
+
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml
new file mode 100644
index 000000000000..1157b9c54e8e
--- /dev/null
+++ b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml.cs b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml.cs
new file mode 100644
index 000000000000..6cb1f89f181c
--- /dev/null
+++ b/src/UnoItemTemplate/ResourceDictionaryWithCodeBehind.WinUI/ResourceDictionaryWithCodeBehind.xaml.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Controls.Primitives;
+using Microsoft.UI.Xaml.Data;
+using Microsoft.UI.Xaml.Input;
+using Microsoft.UI.Xaml.Media;
+using Microsoft.UI.Xaml.Navigation;
+
+namespace $rootnamespace$
+{
+ public sealed partial class $safeitemname$ : ResourceDictionary
+ {
+ public $safeitemname$()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
diff --git a/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl/CustomControl.cs b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.UWP/CustomControl.cs
similarity index 100%
rename from src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl/CustomControl.cs
rename to src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.UWP/CustomControl.cs
diff --git a/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl/Uno.Neutral.Cs.TemplatedControl.vstemplate b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.UWP/Uno.Neutral.Cs.TemplatedControl.uwp.vstemplate
similarity index 100%
rename from src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl/Uno.Neutral.Cs.TemplatedControl.vstemplate
rename to src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.UWP/Uno.Neutral.Cs.TemplatedControl.uwp.vstemplate
diff --git a/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/CustomControl.cs b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/CustomControl.cs
new file mode 100644
index 000000000000..96b509330359
--- /dev/null
+++ b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/CustomControl.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using Microsoft.UI.Xaml.Data;
+using Microsoft.UI.Xaml.Documents;
+using Microsoft.UI.Xaml.Input;
+using Microsoft.UI.Xaml.Media;
+
+// To learn more about WinUI, the WinUI project structure,
+// and more about our project templates, see: http://aka.ms/winui-project-info.
+
+namespace $rootnamespace$
+{
+ public sealed class $safeitemname$ : Control
+ {
+ public $safeitemname$()
+ {
+ this.DefaultStyleKey = typeof($safeitemname$);
+ }
+ }
+}
diff --git a/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/Uno.Neutral.Cs.TemplatedControl.winui.vstemplate b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/Uno.Neutral.Cs.TemplatedControl.winui.vstemplate
new file mode 100644
index 000000000000..20f1c62a51af
--- /dev/null
+++ b/src/UnoItemTemplate/Uno.Neutral.Cs.TemplatedControl.WinUI/Uno.Neutral.Cs.TemplatedControl.winui.vstemplate
@@ -0,0 +1,24 @@
+
+
+
+ CustomControl.cs
+ Custom Control (Uno Platform WinUI 3)
+ A custom control for apps based on the UWP Library.
+
+ CSharp
+ Uno.WinUI.Neutral.UWP.TemplatedControl
+ CSharp + SharedAssetsProject
+ 2
+ true
+ Windows
+ blend
+ csharp
+ windows
+ uwp
+ desktop
+
+
+ CustomControl.cs
+
+
+
diff --git a/src/UnoItemTemplate/UnoItemTemplate.csproj b/src/UnoItemTemplate/UnoItemTemplate.csproj
index 61f67bfb94c2..948e4c0423e4 100644
--- a/src/UnoItemTemplate/UnoItemTemplate.csproj
+++ b/src/UnoItemTemplate/UnoItemTemplate.csproj
@@ -60,32 +60,45 @@
-
+
+ UserControl.xaml
+
+
+
+ ResourceDictionaryWithCodeBehind.xaml
+
+
ResourceDictionaryWithCodeBehind.xaml
-
+
Designer
-
+
UserControl.xaml
-
+
BlankPage.xaml
-
+
+ ContentDialog.xaml
+
+
+ BlankPage.xaml
+
+
ContentDialog.xaml
-
-
+
+
Uno Platform
-
+
MSBuild:Compile
Designer
@@ -94,33 +107,33 @@
Uno Platform
-
+
Uno Platform
-
+
Uno Platform
-
+
Uno Platform
-
+
-
+
MSBuild:Compile
Designer
-
+
MSBuild:Compile
Designer
-
+
-
+
MSBuild:Compile
Designer
@@ -134,6 +147,48 @@
Designer
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+