From 41c375dff1822511a5f23c34bc12fe2a4040aa7b Mon Sep 17 00:00:00 2001 From: AtomCrafty Date: Thu, 10 Nov 2022 07:20:37 +0100 Subject: [PATCH] fix DevTools style list not updating correctly --- .../Diagnostics/ViewModels/ControlDetailsViewModel.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs index 631da80d8b..71da543d70 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Collections.Specialized; using System.ComponentModel; using System.Linq; using System.Reflection; @@ -15,7 +14,7 @@ using Avalonia.VisualTree; namespace Avalonia.Diagnostics.ViewModels { - internal class ControlDetailsViewModel : ViewModelBase, IDisposable + internal class ControlDetailsViewModel : ViewModelBase, IDisposable, IClassesChangedListener { private readonly IAvaloniaObject _avaloniaObject; private IDictionary? _propertyIndex; @@ -46,7 +45,7 @@ namespace Avalonia.Diagnostics.ViewModels if (avaloniaObject is StyledElement styledElement) { - styledElement.Classes.CollectionChanged += OnClassesChanged; + styledElement.Classes.AddListener(this); var pseudoClassAttributes = styledElement.GetType().GetCustomAttributes(true); @@ -250,7 +249,7 @@ namespace Avalonia.Diagnostics.ViewModels if (_avaloniaObject is StyledElement se) { - se.Classes.CollectionChanged -= OnClassesChanged; + se.Classes.RemoveListener(this); } } @@ -325,7 +324,7 @@ namespace Avalonia.Diagnostics.ViewModels } } - private void OnClassesChanged(object? sender, NotifyCollectionChangedEventArgs e) + void IClassesChangedListener.Changed() { if (!SnapshotStyles) {