diff --git a/src/Controls/src/Core/Controls.Core.csproj b/src/Controls/src/Core/Controls.Core.csproj
index 9e846ac2f5c9..b0e7dcf2c0e9 100644
--- a/src/Controls/src/Core/Controls.Core.csproj
+++ b/src/Controls/src/Core/Controls.Core.csproj
@@ -23,9 +23,13 @@
+ true
true
true
true
+
+
+ true
diff --git a/src/Controls/src/Xaml/Controls.Xaml.csproj b/src/Controls/src/Xaml/Controls.Xaml.csproj
index b0b994403492..dc73685db6f1 100644
--- a/src/Controls/src/Xaml/Controls.Xaml.csproj
+++ b/src/Controls/src/Xaml/Controls.Xaml.csproj
@@ -24,6 +24,7 @@
+ true
true
true
true
diff --git a/src/Core/maps/src/Maps.csproj b/src/Core/maps/src/Maps.csproj
index 81121e7302eb..376f53c6f99c 100644
--- a/src/Core/maps/src/Maps.csproj
+++ b/src/Core/maps/src/Maps.csproj
@@ -12,6 +12,7 @@
+ true
true
true
true
diff --git a/src/Core/src/Core.csproj b/src/Core/src/Core.csproj
index 902d1b31fcdb..329840e752e2 100644
--- a/src/Core/src/Core.csproj
+++ b/src/Core/src/Core.csproj
@@ -14,8 +14,12 @@
+ true
true
true
+
+
+ true
true
diff --git a/src/Core/src/Platform/Windows/ColorConverter.cs b/src/Core/src/Platform/Windows/ColorConverter.cs
index 4ef57acc9451..892f1d5a0bfa 100644
--- a/src/Core/src/Platform/Windows/ColorConverter.cs
+++ b/src/Core/src/Platform/Windows/ColorConverter.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Maui.Platform
{
- public sealed class ColorConverter : UI.Xaml.Data.IValueConverter
+ public sealed partial class ColorConverter : UI.Xaml.Data.IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
diff --git a/src/Core/src/Platform/Windows/ContentPanel.cs b/src/Core/src/Platform/Windows/ContentPanel.cs
index 41a5932798a6..61c4e6677e2a 100644
--- a/src/Core/src/Platform/Windows/ContentPanel.cs
+++ b/src/Core/src/Platform/Windows/ContentPanel.cs
@@ -14,7 +14,7 @@
namespace Microsoft.Maui.Platform
{
- public class ContentPanel : MauiPanel
+ public partial class ContentPanel : MauiPanel
{
readonly Path? _borderPath;
IBorderStroke? _borderStroke;
diff --git a/src/Core/src/Platform/Windows/DefaultOrUserDataTemplateSelector.cs b/src/Core/src/Platform/Windows/DefaultOrUserDataTemplateSelector.cs
index 1906b96e2f80..28ac3cb177df 100644
--- a/src/Core/src/Platform/Windows/DefaultOrUserDataTemplateSelector.cs
+++ b/src/Core/src/Platform/Windows/DefaultOrUserDataTemplateSelector.cs
@@ -3,7 +3,7 @@
namespace Microsoft.Maui.Platform
{
- class DefaultOrUserDataTemplateSelector : DataTemplateSelector
+ partial class DefaultOrUserDataTemplateSelector : DataTemplateSelector
{
public string? UserTemplateName { get; set; }
public string? DefaultTemplateName { get; set; }
diff --git a/src/Core/src/Platform/Windows/KeyboardAcceleratorExtensions.cs b/src/Core/src/Platform/Windows/KeyboardAcceleratorExtensions.cs
index 7f6d36115dd6..4a4cfa007ba2 100644
--- a/src/Core/src/Platform/Windows/KeyboardAcceleratorExtensions.cs
+++ b/src/Core/src/Platform/Windows/KeyboardAcceleratorExtensions.cs
@@ -9,7 +9,7 @@ namespace Microsoft.Maui.Platform
///
/// Group of helper extension methods related to KeyboardAccelerators.
///
- public static class KeyboardAcceleratorExtensions
+ public static partial class KeyboardAcceleratorExtensions
{
///
/// Updates the collection of KeyboardAccelerators used by a MenuFlyoutItemBase.
diff --git a/src/Core/src/Platform/Windows/LayoutPanel.cs b/src/Core/src/Platform/Windows/LayoutPanel.cs
index 019832d4ec7a..2ee75ec4df3b 100644
--- a/src/Core/src/Platform/Windows/LayoutPanel.cs
+++ b/src/Core/src/Platform/Windows/LayoutPanel.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Maui.Platform
{
- public class LayoutPanel : MauiPanel
+ public partial class LayoutPanel : MauiPanel
{
Canvas? _backgroundLayer;
public bool ClipsToBounds { get; set; }
diff --git a/src/Core/src/Platform/Windows/MauiButton.cs b/src/Core/src/Platform/Windows/MauiButton.cs
index 2b93d0870800..0abf2e645eac 100644
--- a/src/Core/src/Platform/Windows/MauiButton.cs
+++ b/src/Core/src/Platform/Windows/MauiButton.cs
@@ -9,7 +9,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiButton : Button
+ public partial class MauiButton : Button
{
public MauiButton()
{
@@ -25,7 +25,7 @@ protected override AutomationPeer OnCreateAutomationPeer()
}
}
- internal class DefaultMauiButtonContent : MauiPanel
+ internal partial class DefaultMauiButtonContent : MauiPanel
{
readonly Image _image;
readonly TextBlock _textBlock;
diff --git a/src/Core/src/Platform/Windows/MauiButtonAutomationPeer.cs b/src/Core/src/Platform/Windows/MauiButtonAutomationPeer.cs
index 54147920a358..c6aa4d20f89d 100644
--- a/src/Core/src/Platform/Windows/MauiButtonAutomationPeer.cs
+++ b/src/Core/src/Platform/Windows/MauiButtonAutomationPeer.cs
@@ -4,7 +4,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiButtonAutomationPeer : ButtonAutomationPeer
+ public partial class MauiButtonAutomationPeer : ButtonAutomationPeer
{
public MauiButtonAutomationPeer(Button owner) : base(owner)
{
diff --git a/src/Core/src/Platform/Windows/MauiCancelButton.cs b/src/Core/src/Platform/Windows/MauiCancelButton.cs
index a2985259160f..ece7321efac7 100644
--- a/src/Core/src/Platform/Windows/MauiCancelButton.cs
+++ b/src/Core/src/Platform/Windows/MauiCancelButton.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiCancelButton : Button
+ public partial class MauiCancelButton : Button
{
TextBlock _cancelButtonGlyph;
Border _cancelButtonBackground;
diff --git a/src/Core/src/Platform/Windows/MauiHybridWebView.cs b/src/Core/src/Platform/Windows/MauiHybridWebView.cs
index a4d040491907..34e6081a9d0a 100644
--- a/src/Core/src/Platform/Windows/MauiHybridWebView.cs
+++ b/src/Core/src/Platform/Windows/MauiHybridWebView.cs
@@ -10,7 +10,7 @@ namespace Microsoft.Maui.Platform
#if !NETSTANDARD
[RequiresDynamicCode(HybridWebViewHandler.DynamicFeatures)]
#endif
- public class MauiHybridWebView : WebView2, IHybridPlatformWebView
+ public partial class MauiHybridWebView : WebView2, IHybridPlatformWebView
{
private readonly WeakReference _handler;
internal Task? WebViewReadyTask { get; set; }
diff --git a/src/Core/src/Platform/Windows/MauiPageControl.cs b/src/Core/src/Platform/Windows/MauiPageControl.cs
index 46f6f28d2894..94432f994cf4 100644
--- a/src/Core/src/Platform/Windows/MauiPageControl.cs
+++ b/src/Core/src/Platform/Windows/MauiPageControl.cs
@@ -12,7 +12,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiPageControl : ItemsControl
+ public partial class MauiPageControl : ItemsControl
{
IIndicatorView? _indicatorView;
const int DefaultPadding = 4;
diff --git a/src/Core/src/Platform/Windows/MauiPasswordTextBox.cs b/src/Core/src/Platform/Windows/MauiPasswordTextBox.cs
index d35f5d00afe5..b68052c54995 100644
--- a/src/Core/src/Platform/Windows/MauiPasswordTextBox.cs
+++ b/src/Core/src/Platform/Windows/MauiPasswordTextBox.cs
@@ -15,7 +15,7 @@ namespace Microsoft.Maui.Platform
{
// TODO: Replace this all with a real PasswordBox and not do this
// as we lose many default password box features.
- public class MauiPasswordTextBox : TextBox
+ public partial class MauiPasswordTextBox : TextBox
{
const char ObfuscationCharacter = '●';
diff --git a/src/Core/src/Platform/Windows/MauiSlider.cs b/src/Core/src/Platform/Windows/MauiSlider.cs
index 1fcc5f660c32..517765c0055c 100644
--- a/src/Core/src/Platform/Windows/MauiSlider.cs
+++ b/src/Core/src/Platform/Windows/MauiSlider.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Maui.Platform
{
- internal class MauiSlider : Slider
+ internal partial class MauiSlider : Slider
{
Thumb _thumb;
Style _originalThumbStyle;
diff --git a/src/Core/src/Platform/Windows/MauiStepper.cs b/src/Core/src/Platform/Windows/MauiStepper.cs
index 7bfacce47176..015e93d03efa 100644
--- a/src/Core/src/Platform/Windows/MauiStepper.cs
+++ b/src/Core/src/Platform/Windows/MauiStepper.cs
@@ -14,7 +14,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiStepper : Control
+ public partial class MauiStepper : Control
{
Button _plus;
Button _minus;
diff --git a/src/Core/src/Platform/Windows/MauiWebView.cs b/src/Core/src/Platform/Windows/MauiWebView.cs
index 2e235e10e4b0..0ab25046a52f 100644
--- a/src/Core/src/Platform/Windows/MauiWebView.cs
+++ b/src/Core/src/Platform/Windows/MauiWebView.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Maui.Platform
{
- public class MauiWebView : WebView2, IWebViewDelegate
+ public partial class MauiWebView : WebView2, IWebViewDelegate
{
readonly WeakReference _handler;
diff --git a/src/Core/src/Platform/Windows/PlatformTouchGraphicsView.cs b/src/Core/src/Platform/Windows/PlatformTouchGraphicsView.cs
index d8e54b6fcacb..f630867a0dae 100644
--- a/src/Core/src/Platform/Windows/PlatformTouchGraphicsView.cs
+++ b/src/Core/src/Platform/Windows/PlatformTouchGraphicsView.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Maui.Platform
{
- public class PlatformTouchGraphicsView : UserControl
+ public partial class PlatformTouchGraphicsView : UserControl
{
IGraphicsView? _graphicsView;
readonly W2DGraphicsView _platformGraphicsView;
diff --git a/src/Core/src/Platform/Windows/RootNavigationView.cs b/src/Core/src/Platform/Windows/RootNavigationView.cs
index dedb3fad3c4d..1e6b5ccad200 100644
--- a/src/Core/src/Platform/Windows/RootNavigationView.cs
+++ b/src/Core/src/Platform/Windows/RootNavigationView.cs
@@ -39,7 +39,7 @@ public RootNavigationView()
internal new MauiToolbar? Toolbar
{
- get => base.Toolbar as MauiToolbar;
+ get => base.Toolbar as MauiToolbar;
set
{
if (base.Toolbar == value)
@@ -367,7 +367,7 @@ internal Maui.IView? FlyoutView
// We use a container because if we just assign our Flyout to the PaneFooter on the NavigationView
// The measure call passes in PositiveInfinity for the measurements which causes the layout system
// to crash. So we use this Panel to facilitate more constrained measuring values
- class FlyoutPanel : Panel
+ partial class FlyoutPanel : Panel
{
public Maui.IView? FlyoutView { get; set; }
diff --git a/src/Core/src/Platform/Windows/RootPanel.cs b/src/Core/src/Platform/Windows/RootPanel.cs
index 60b2aa828704..81e929055658 100644
--- a/src/Core/src/Platform/Windows/RootPanel.cs
+++ b/src/Core/src/Platform/Windows/RootPanel.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Maui.Platform
{
[Obsolete("Use Microsoft.Maui.Platform.ContentPanel")]
- public class RootPanel : Panel
+ public partial class RootPanel : Panel
{
internal Func? CrossPlatformMeasure { get; set; }
internal Func? CrossPlatformArrange { get; set; }
diff --git a/src/Core/src/Platform/Windows/TextAlignmentToHorizontalAlignmentConverter.cs b/src/Core/src/Platform/Windows/TextAlignmentToHorizontalAlignmentConverter.cs
index dae3d8f78c0f..bfc9681c9e08 100644
--- a/src/Core/src/Platform/Windows/TextAlignmentToHorizontalAlignmentConverter.cs
+++ b/src/Core/src/Platform/Windows/TextAlignmentToHorizontalAlignmentConverter.cs
@@ -3,7 +3,7 @@
namespace Microsoft.Maui.Platform
{
- public sealed class TextAlignmentToHorizontalAlignmentConverter : Microsoft.UI.Xaml.Data.IValueConverter
+ public sealed partial class TextAlignmentToHorizontalAlignmentConverter : Microsoft.UI.Xaml.Data.IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
diff --git a/src/Core/src/Platform/Windows/WindowRootViewContainer.cs b/src/Core/src/Platform/Windows/WindowRootViewContainer.cs
index 3b23a317bf1f..dae4bcf97c50 100644
--- a/src/Core/src/Platform/Windows/WindowRootViewContainer.cs
+++ b/src/Core/src/Platform/Windows/WindowRootViewContainer.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Maui.Platform
{
- internal class WindowRootViewContainer : Panel
+ internal partial class WindowRootViewContainer : Panel
{
FrameworkElement? _topPage;
UIElementCollection? _cachedChildren;
diff --git a/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj b/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj
index fc26ce8fa081..d2b2ba962fe3 100644
--- a/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj
+++ b/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj
@@ -12,6 +12,7 @@
+ true
true
true
true
diff --git a/src/Graphics/src/Graphics.Skia/Views/SkiaGraphicsView.Windows.cs b/src/Graphics/src/Graphics.Skia/Views/SkiaGraphicsView.Windows.cs
index a4e9d89fd033..2f4813728616 100644
--- a/src/Graphics/src/Graphics.Skia/Views/SkiaGraphicsView.Windows.cs
+++ b/src/Graphics/src/Graphics.Skia/Views/SkiaGraphicsView.Windows.cs
@@ -6,7 +6,7 @@ namespace Microsoft.Maui.Graphics.Skia.Views
///
/// A SkiaSharp-based graphics view for Windows that can render objects.
///
- public class SkiaGraphicsView : SKXamlCanvas
+ public partial class SkiaGraphicsView : SKXamlCanvas
{
private IDrawable _drawable;
private SkiaCanvas _canvas;
diff --git a/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj b/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj
index a3444c12aa49..5b6bdd5fd0cd 100644
--- a/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj
+++ b/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj
@@ -11,6 +11,7 @@
+ true
true
true
true
diff --git a/src/Graphics/src/Graphics/Graphics.csproj b/src/Graphics/src/Graphics/Graphics.csproj
index fdbea548a676..621b0bc601e3 100644
--- a/src/Graphics/src/Graphics/Graphics.csproj
+++ b/src/Graphics/src/Graphics/Graphics.csproj
@@ -15,6 +15,7 @@
+ true
true
true
true
diff --git a/src/Graphics/src/Graphics/Platforms/Windows/PlatformGraphicsView.cs b/src/Graphics/src/Graphics/Platforms/Windows/PlatformGraphicsView.cs
index e5db4b673370..59c57be95cc4 100644
--- a/src/Graphics/src/Graphics/Platforms/Windows/PlatformGraphicsView.cs
+++ b/src/Graphics/src/Graphics/Platforms/Windows/PlatformGraphicsView.cs
@@ -17,9 +17,9 @@ namespace Microsoft.Maui.Graphics.Platform
/// A Windows platform view that can be used to host drawings.
///
#if MAUI_GRAPHICS_WIN2D
- public sealed class W2DGraphicsView
+ public sealed partial class W2DGraphicsView
#else
- public class PlatformGraphicsView
+ public partial class PlatformGraphicsView
#endif
: UserControl
{