|
|
|
@ -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() |
|
|
|
|