From 5f98ec831907550bd9dea20f495776207288df41 Mon Sep 17 00:00:00 2001 From: Giuseppe Lippolis Date: Fri, 24 Feb 2023 17:36:41 +0100 Subject: [PATCH 1/3] fix: Address Rule AVP1021 Name collision: {type} owns multiple Avalonia properties with the name '{PropertyName}' ```bash Warning AVP1021 Name collision: Avalonia.Controls.MaskedTextBox owns multiple Avalonia properties with the name 'PasswordChar' Avalonia.Controls.TextBox.PasswordCharProperty Avalonia.Controls.MaskedTextBox.PasswordCharProperty Avalonia.Controls (net6.0) .\src\Avalonia.Controls\MaskedTextBox.cs 134 Active Warning AVP1021 Name collision: Avalonia.Diagnostics.Controls.ThicknessEditor owns multiple Avalonia properties with the name 'Header' Avalonia.Diagnostics.Controls.ThicknessEditor.HeaderProperty Avalonia.Diagnostics.Controls.ThicknessEditor.IsPresentProperty Avalonia.Diagnostics (net6.0) .\src\Avalonia.Diagnostics\Diagnostics\Controls\ThicknessEditor.cs 53 Active ``` --- src/Avalonia.Controls/MaskedTextBox.cs | 10 +++++++++- .../Diagnostics/Controls/ThicknessEditor.cs | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Controls/MaskedTextBox.cs b/src/Avalonia.Controls/MaskedTextBox.cs index 5a3eb47ce4..f086ce0ace 100644 --- a/src/Avalonia.Controls/MaskedTextBox.cs +++ b/src/Avalonia.Controls/MaskedTextBox.cs @@ -32,7 +32,9 @@ namespace Avalonia.Controls AvaloniaProperty.Register(nameof(Mask), string.Empty); public static new readonly StyledProperty PasswordCharProperty = - AvaloniaProperty.Register(nameof(PasswordChar), '\0'); +#pragma warning disable AVP1013 // AvaloniaProperty owners should not be added superfluously + TextBox.PasswordCharProperty.AddOwner(); +#pragma warning restore AVP1013 // AvaloniaProperty owners should not be added superfluously public static readonly StyledProperty PromptCharProperty = AvaloniaProperty.Register(nameof(PromptChar), '_'); @@ -51,6 +53,12 @@ namespace Avalonia.Controls private bool _resetOnSpace = true; + static MaskedTextBox() + { + PasswordCharProperty + .OverrideDefaultValue('\0'); + } + public MaskedTextBox() { } /// diff --git a/src/Avalonia.Diagnostics/Diagnostics/Controls/ThicknessEditor.cs b/src/Avalonia.Diagnostics/Diagnostics/Controls/ThicknessEditor.cs index ec7e91c8be..c9189a886d 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/Controls/ThicknessEditor.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/Controls/ThicknessEditor.cs @@ -15,7 +15,7 @@ namespace Avalonia.Diagnostics.Controls (o, v) => o.Header = v); public static readonly DirectProperty IsPresentProperty = - AvaloniaProperty.RegisterDirect(nameof(Header), o => o.IsPresent, + AvaloniaProperty.RegisterDirect(nameof(IsPresent), o => o.IsPresent, (o, v) => o.IsPresent = v); public static readonly DirectProperty LeftProperty = From 0038f9ed966d17b30c1171cc0e76aa064889d37d Mon Sep 17 00:00:00 2001 From: Giuseppe Lippolis Date: Fri, 24 Feb 2023 18:32:28 +0100 Subject: [PATCH 2/3] fix: AVP1022 Bad name: An AvaloniaProperty named 'DrawOnlyPoints' is being assigned to ControlCatalog.Pages.PointerCanvas.StatusProperty --- samples/ControlCatalog/Pages/PointerCanvas.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/ControlCatalog/Pages/PointerCanvas.cs b/samples/ControlCatalog/Pages/PointerCanvas.cs index 653590fe64..32e46af9dd 100644 --- a/samples/ControlCatalog/Pages/PointerCanvas.cs +++ b/samples/ControlCatalog/Pages/PointerCanvas.cs @@ -114,7 +114,7 @@ public class PointerCanvas : Control private string? _status; public static readonly DirectProperty StatusProperty = - AvaloniaProperty.RegisterDirect(nameof(DrawOnlyPoints), c => c.Status, (c, v) => c.Status = v, + AvaloniaProperty.RegisterDirect(nameof(Status), c => c.Status, (c, v) => c.Status = v, defaultBindingMode: Avalonia.Data.BindingMode.TwoWay); public string? Status From a4fed259121a920f744c2751e838b81df3c8521b Mon Sep 17 00:00:00 2001 From: workgroupengineering Date: Sun, 26 Feb 2023 19:57:00 +0100 Subject: [PATCH 3/3] fix: Address review --- src/Avalonia.Controls/MaskedTextBox.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Avalonia.Controls/MaskedTextBox.cs b/src/Avalonia.Controls/MaskedTextBox.cs index f086ce0ace..d397a581dc 100644 --- a/src/Avalonia.Controls/MaskedTextBox.cs +++ b/src/Avalonia.Controls/MaskedTextBox.cs @@ -31,11 +31,6 @@ namespace Avalonia.Controls public static readonly StyledProperty MaskProperty = AvaloniaProperty.Register(nameof(Mask), string.Empty); - public static new readonly StyledProperty PasswordCharProperty = -#pragma warning disable AVP1013 // AvaloniaProperty owners should not be added superfluously - TextBox.PasswordCharProperty.AddOwner(); -#pragma warning restore AVP1013 // AvaloniaProperty owners should not be added superfluously - public static readonly StyledProperty PromptCharProperty = AvaloniaProperty.Register(nameof(PromptChar), '_');