|
|
@@ -20,6 +20,7 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
private readonly IDictionary<object, List<PropertyViewModel>> _propertyIndex;
|
|
|
private AvaloniaPropertyViewModel _selectedProperty;
|
|
|
private string _styleFilter;
|
|
|
+ private bool _snapshotStyles;
|
|
|
|
|
|
public ControlDetailsViewModel(TreePageViewModel treePage, IVisual control)
|
|
|
{
|
|
|
@@ -53,7 +54,7 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
}
|
|
|
|
|
|
AppliedStyles = new ObservableCollection<StyleViewModel>();
|
|
|
- PseudoClasses = new ObservableCollection<PseudoClassesViewModel>();
|
|
|
+ PseudoClasses = new ObservableCollection<PseudoClassViewModel>();
|
|
|
|
|
|
if (control is StyledElement styledElement)
|
|
|
{
|
|
|
@@ -65,7 +66,7 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
{
|
|
|
foreach (var className in classAttribute.PseudoClasses)
|
|
|
{
|
|
|
- PseudoClasses.Add(new PseudoClassesViewModel(className, styledElement));
|
|
|
+ PseudoClasses.Add(new PseudoClassViewModel(className, styledElement));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -133,7 +134,7 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
|
|
|
public ObservableCollection<StyleViewModel> AppliedStyles { get; }
|
|
|
|
|
|
- public ObservableCollection<PseudoClassesViewModel> PseudoClasses { get; }
|
|
|
+ public ObservableCollection<PseudoClassViewModel> PseudoClasses { get; }
|
|
|
|
|
|
public AvaloniaPropertyViewModel SelectedProperty
|
|
|
{
|
|
|
@@ -146,7 +147,13 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
get => _styleFilter;
|
|
|
set => RaiseAndSetIfChanged(ref _styleFilter, value);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ public bool SnapshotStyles
|
|
|
+ {
|
|
|
+ get => _snapshotStyles;
|
|
|
+ set => RaiseAndSetIfChanged(ref _snapshotStyles, value);
|
|
|
+ }
|
|
|
+
|
|
|
public ControlLayoutViewModel Layout { get; }
|
|
|
|
|
|
protected override void OnPropertyChanged(PropertyChangedEventArgs e)
|
|
|
@@ -157,6 +164,13 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
{
|
|
|
UpdateStyleFilters();
|
|
|
}
|
|
|
+ else if (e.PropertyName == nameof(SnapshotStyles))
|
|
|
+ {
|
|
|
+ if (!SnapshotStyles)
|
|
|
+ {
|
|
|
+ UpdateStyles();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void UpdateStyleFilters()
|
|
|
@@ -258,12 +272,18 @@ namespace Avalonia.Diagnostics.ViewModels
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- UpdateStyles();
|
|
|
+ if (!SnapshotStyles)
|
|
|
+ {
|
|
|
+ UpdateStyles();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void OnClassesChanged(object sender, NotifyCollectionChangedEventArgs e)
|
|
|
{
|
|
|
- UpdateStyles();
|
|
|
+ if (!SnapshotStyles)
|
|
|
+ {
|
|
|
+ UpdateStyles();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void UpdateStyles()
|