StyleViewModel.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System.Collections.Generic;
  2. using Avalonia.Styling;
  3. namespace Avalonia.Diagnostics.ViewModels
  4. {
  5. internal class StyleViewModel : ViewModelBase
  6. {
  7. private readonly AppliedStyle _styleInstance;
  8. private bool _isActive;
  9. private bool _isVisible;
  10. public StyleViewModel(AppliedStyle styleInstance, string name, List<SetterViewModel> setters)
  11. {
  12. _styleInstance = styleInstance;
  13. IsVisible = true;
  14. Name = name;
  15. Setters = setters;
  16. Update();
  17. }
  18. public bool IsActive
  19. {
  20. get => _isActive;
  21. set => RaiseAndSetIfChanged(ref _isActive, value);
  22. }
  23. public bool IsVisible
  24. {
  25. get => _isVisible;
  26. set => RaiseAndSetIfChanged(ref _isVisible, value);
  27. }
  28. public string Name { get; }
  29. public List<SetterViewModel> Setters { get; }
  30. public void Update()
  31. {
  32. IsActive = _styleInstance.IsActive;
  33. }
  34. }
  35. }