diff --git a/Directory.Packages.props b/Directory.Packages.props
index a73c5be55fd6..53f4941b631f 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,6 +7,7 @@
+
diff --git a/src/Files.App.Controls/Files.App.Controls.csproj b/src/Files.App.Controls/Files.App.Controls.csproj
index 12c0ab679abb..e2f44e087d4d 100644
--- a/src/Files.App.Controls/Files.App.Controls.csproj
+++ b/src/Files.App.Controls/Files.App.Controls.csproj
@@ -14,6 +14,7 @@
+
diff --git a/src/Files.App.Controls/Storage/RingShape/RingShape.Properties.cs b/src/Files.App.Controls/Storage/RingShape/RingShape.Properties.cs
index ddf4f311dbdd..349df99af071 100644
--- a/src/Files.App.Controls/Storage/RingShape/RingShape.Properties.cs
+++ b/src/Files.App.Controls/Storage/RingShape/RingShape.Properties.cs
@@ -1,6 +1,7 @@
// Copyright (c) Files Community
// Licensed under the MIT License.
+using CommunityToolkit.WinUI;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Shapes;
@@ -8,55 +9,77 @@
namespace Files.App.Controls.Primitives
{
- [DependencyProperty("StartAngle", nameof(OnStartAngleChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("EndAngle", nameof(OnEndAngleChanged), DefaultValue = "(double)90.0")]
- [DependencyProperty("SweepDirection", nameof(OnSweepDirectionChanged), DefaultValue = "global::Microsoft.UI.Xaml.Media.SweepDirection.Clockwise")]
- [DependencyProperty("MinAngle", nameof(OnMinAngleChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("MaxAngle", nameof(OnMaxAngleChanged), DefaultValue = "(double)360.0")]
- [DependencyProperty("RadiusWidth", nameof(OnRadiusWidthChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("RadiusHeight", nameof(OnRadiusHeightChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("IsCircle", nameof(OnIsCircleChanged), DefaultValue = "(bool)false")]
- [DependencyProperty("Center")]
- [DependencyProperty("ActualRadiusWidth")]
- [DependencyProperty("ActualRadiusHeight")]
public partial class RingShape : Path
{
- protected virtual void OnStartAngleChanged(double oldValue, double newValue)
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double StartAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 90.0d)]
+ public partial double EndAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = SweepDirection.Clockwise)]
+ public partial SweepDirection SweepDirection { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double MinAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 360.0d)]
+ public partial double MaxAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double RadiusWidth { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double RadiusHeight { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial bool IsCircle { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial Point Center { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial double ActualRadiusWidth { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial double ActualRadiusHeight { get; set; }
+
+ partial void OnStartAngleChanged(double newValue)
{
StartAngleChanged();
}
- protected virtual void OnEndAngleChanged(double oldValue, double newValue)
+ partial void OnEndAngleChanged(double newValue)
{
EndAngleChanged();
}
- protected virtual void OnSweepDirectionChanged(SweepDirection oldValue, SweepDirection newValue)
+ partial void OnSweepDirectionChanged(SweepDirection newValue)
{
SweepDirectionChanged();
}
- protected virtual void OnMinAngleChanged(double oldValue, double newValue)
+ partial void OnMinAngleChanged(double newValue)
{
MinMaxAngleChanged(false);
}
- protected virtual void OnMaxAngleChanged(double oldValue, double newValue)
+ partial void OnMaxAngleChanged(double newValue)
{
MinMaxAngleChanged(true);
}
- protected virtual void OnRadiusWidthChanged(double oldValue, double newValue)
+ partial void OnRadiusWidthChanged(double newValue)
{
RadiusWidthChanged();
}
- protected virtual void OnRadiusHeightChanged(double oldValue, double newValue)
+ partial void OnRadiusHeightChanged(double newValue)
{
RadiusHeightChanged();
}
- protected virtual void OnIsCircleChanged(bool oldValue, bool newValue)
+ partial void OnIsCircleChanged(bool newValue)
{
IsCircleChanged();
}
diff --git a/src/Files.App.Controls/Storage/StorageBar/StorageBar.Properties.cs b/src/Files.App.Controls/Storage/StorageBar/StorageBar.Properties.cs
index 26e961321c30..95dea41d4922 100644
--- a/src/Files.App.Controls/Storage/StorageBar/StorageBar.Properties.cs
+++ b/src/Files.App.Controls/Storage/StorageBar/StorageBar.Properties.cs
@@ -1,34 +1,47 @@
// Copyright (c) Files Community
// Licensed under the MIT License.
+using CommunityToolkit.WinUI;
using Microsoft.UI.Xaml;
namespace Files.App.Controls
{
- [DependencyProperty("ValueBarHeight", nameof(OnValueBarHeightChanged), DefaultValue = "(double)4.0")]
- [DependencyProperty("TrackBarHeight", nameof(OnTrackBarHeightChanged), DefaultValue = "(double)2.0")]
- [DependencyProperty("BarShape", nameof(OnBarShapeChanged), DefaultValue = "BarShapes.Round")]
- [DependencyProperty("Percent", nameof(OnPercentChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("PercentCaution", nameof(OnPercentCautionChanged), DefaultValue = "(double)75.1")]
- [DependencyProperty("PercentCritical", nameof(OnPercentCriticalChanged), DefaultValue = "(double)89.9")]
public partial class StorageBar
{
- private void OnValueBarHeightChanged(double oldValue, double newValue)
+ [GeneratedDependencyProperty(DefaultValue = 4.0d)]
+ public partial double ValueBarHeight { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 2.0d)]
+ public partial double TrackBarHeight { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = BarShapes.Round)]
+ public partial BarShapes BarShape { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double Percent { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 75.1d)]
+ public partial double PercentCaution { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 89.9d)]
+ public partial double PercentCritical { get; set; }
+
+ partial void OnValueBarHeightChanged(double newValue)
{
UpdateControl(this);
}
- private void OnTrackBarHeightChanged(double oldValue, double newValue)
+ partial void OnTrackBarHeightChanged(double newValue)
{
UpdateControl(this);
}
- private void OnBarShapeChanged(BarShapes oldValue, BarShapes newValue)
+ partial void OnBarShapeChanged(BarShapes newValue)
{
UpdateControl(this);
}
- private void OnPercentChanged(double oldValue, double newValue)
+ partial void OnPercentChanged(double newValue)
{
return; //Read-only
@@ -36,12 +49,12 @@ private void OnPercentChanged(double oldValue, double newValue)
UpdateControl(this);
}
- private void OnPercentCautionChanged(double oldValue, double newValue)
+ partial void OnPercentCautionChanged(double newValue)
{
UpdateControl(this);
}
- private void OnPercentCriticalChanged(double oldValue, double newValue)
+ partial void OnPercentCriticalChanged(double newValue)
{
UpdateControl(this);
}
diff --git a/src/Files.App.Controls/Storage/StorageRing/StorageRing.Properties.cs b/src/Files.App.Controls/Storage/StorageRing/StorageRing.Properties.cs
index 9f929f4504ef..3328e9dbe16a 100644
--- a/src/Files.App.Controls/Storage/StorageRing/StorageRing.Properties.cs
+++ b/src/Files.App.Controls/Storage/StorageRing/StorageRing.Properties.cs
@@ -1,49 +1,70 @@
// Copyright (c) Files Community
// Licensed under the MIT License.
+using CommunityToolkit.WinUI;
using Microsoft.UI.Xaml;
namespace Files.App.Controls
{
- [DependencyProperty("ValueRingThickness", nameof(OnValueRingThicknessChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("TrackRingThickness", nameof(OnTrackRingThicknessChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("MinAngle", nameof(OnMinAngleChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("MaxAngle", nameof(OnMaxAngleChanged), DefaultValue = "(double)360.0")]
- [DependencyProperty("StartAngle", nameof(OnStartAngleChanged), DefaultValue = "(double)0.0")]
- [DependencyProperty("Percent", nameof(OnPercentChanged))]
- [DependencyProperty("PercentCaution", nameof(OnPercentCautionChanged), DefaultValue = "(double)75.01")]
- [DependencyProperty("PercentCritical", nameof(OnPercentCriticalChanged), DefaultValue = "(double)90.01")]
- [DependencyProperty("ValueAngle")]
- [DependencyProperty("AdjustedSize", DefaultValue = "(double)16.0")]
public partial class StorageRing
{
- private void OnValueRingThicknessChanged(double oldValue, double newValue)
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double ValueRingThickness { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double TrackRingThickness { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double MinAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 360.0d)]
+ public partial double MaxAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 0.0d)]
+ public partial double StartAngle { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial double Percent { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 75.01d)]
+ public partial double PercentCaution { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 90.01d)]
+ public partial double PercentCritical { get; set; }
+
+ [GeneratedDependencyProperty]
+ public partial double ValueAngle { get; set; }
+
+ [GeneratedDependencyProperty(DefaultValue = 16.0d)]
+ public partial double AdjustedSize { get; set; }
+
+ partial void OnValueRingThicknessChanged(double newValue)
{
UpdateRingThickness(this, newValue, false);
UpdateRings(this);
}
- private void OnTrackRingThicknessChanged(double oldValue, double newValue)
+ partial void OnTrackRingThicknessChanged(double newValue)
{
UpdateRingThickness(this, newValue, true);
UpdateRings(this);
}
- private void OnMinAngleChanged(double oldValue, double newValue)
+ partial void OnMinAngleChanged(double newValue)
{
UpdateValues(this, Value, _oldValue, false, -1.0);
CalculateAndSetNormalizedAngles(this, newValue, MaxAngle);
UpdateRings(this);
}
- private void OnMaxAngleChanged(double oldValue, double newValue)
+ partial void OnMaxAngleChanged(double newValue)
{
UpdateValues(this, Value, _oldValue, false, -1.0);
CalculateAndSetNormalizedAngles(this, MinAngle, newValue);
UpdateRings(this);
}
- private void OnStartAngleChanged(double oldValue, double newValue)
+ partial void OnStartAngleChanged(double newValue)
{
UpdateValues(this, Value, _oldValue, false, -1.0);
CalculateAndSetNormalizedAngles(this, MinAngle, newValue);
@@ -51,7 +72,7 @@ private void OnStartAngleChanged(double oldValue, double newValue)
UpdateRings(this);
}
- private void OnPercentChanged(double oldValue, double newValue)
+ partial void OnPercentChanged(double newValue)
{
return; //Read-only
@@ -71,14 +92,14 @@ private void OnPercentChanged(double oldValue, double newValue)
UpdateRings(this);
}
- private void OnPercentCautionChanged(double oldValue, double newValue)
+ partial void OnPercentCautionChanged(double newValue)
{
UpdateValues(this, Value, _oldValue, false, -1.0);
UpdateVisualState(this);
UpdateRings(this);
}
- private void OnPercentCriticalChanged(double oldValue, double newValue)
+ partial void OnPercentCriticalChanged(double newValue)
{
UpdateValues(this, Value, _oldValue, false, -1.0);
UpdateVisualState(this);
diff --git a/src/Files.App.Controls/ThemedIcon/ThemedIcon.Properties.cs b/src/Files.App.Controls/ThemedIcon/ThemedIcon.Properties.cs
index cff1ccf9a7ec..177cf7d6390e 100644
--- a/src/Files.App.Controls/ThemedIcon/ThemedIcon.Properties.cs
+++ b/src/Files.App.Controls/ThemedIcon/ThemedIcon.Properties.cs
@@ -1,76 +1,99 @@
// Copyright (c) Files Community
// Licensed under the MIT License.
+using CommunityToolkit.WinUI;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Media;
namespace Files.App.Controls
{
- [DependencyProperty("FilledIconData", nameof(OnFilledIconPropertyChanged))]
- [DependencyProperty("OutlineIconData", nameof(OnOutlineIconPropertyChanged))]
- [DependencyProperty("Color", nameof(OnColorPropertyChanged))]
- [DependencyProperty("IconType", nameof(OnIconTypePropertyChanged), DefaultValue = "ThemedIconTypes.Layered")]
- [DependencyProperty("IconColorType", nameof(OnIconColorTypePropertyChanged), DefaultValue = "ThemedIconColorType.None")]
- [DependencyProperty("IconSize", nameof(OnIconSizePropertyChanged), DefaultValue = "(double)16")]
- [DependencyProperty("IsToggled", nameof(OnIsToggledPropertyChanged), DefaultValue = "false")]
- [DependencyProperty("IsFilled", nameof(OnIsFilledPropertyChanged), DefaultValue = "false")]
- [DependencyProperty("IsHighContrast", nameof(OnIsHighContrastPropertyChanged), DefaultValue = "false")]
- [DependencyProperty