LineType.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Collections.ObjectModel;
  2. using System.Windows.Media;
  3. namespace ProximaAnalizer.Data;
  4. internal partial class LineCollection : ObservableObject
  5. {
  6. public LineCollection()
  7. {
  8. this.LinesDash.Add(new("FF00FF", [2, 2]));
  9. this.LinesDash.Add(new("4B0082", [2, 2]));
  10. this.LinesDash.Add(new("7B68EE", [2, 2]));
  11. this.LinesDash.Add(new("0000FF", [2, 2]));
  12. this.LinesDash.Add(new("1E90FF", [2, 2]));
  13. this.LinesDash.Add(new("00FFFF", [2, 2]));
  14. this.LinesDash.Add(new("00FF7F", [2, 2]));
  15. this.LinesDash.Add(new("FFD700", [2, 2]));
  16. this.LinesDash.Add(new("FF8C00", [2, 2]));
  17. this.LinesDash.Add(new("FF0000", [2, 2]));
  18. this.LinesDash.Add(new("696969", [2, 2]));
  19. this.LinesSolid.Add(new("FF00FF", [2, 0]));
  20. this.LinesSolid.Add(new("4B0082", [2, 0]));
  21. this.LinesSolid.Add(new("7B68EE", [2, 0]));
  22. this.LinesSolid.Add(new("0000FF", [2, 0]));
  23. this.LinesSolid.Add(new("1E90FF", [2, 0]));
  24. this.LinesSolid.Add(new("00FFFF", [2, 0]));
  25. this.LinesSolid.Add(new("00FF7F", [2, 0]));
  26. this.LinesSolid.Add(new("FFD700", [2, 0]));
  27. this.LinesSolid.Add(new("FF8C00", [2, 0]));
  28. this.LinesSolid.Add(new("FF0000", [2, 0]));
  29. this.LinesSolid.Add(new("696969", [2, 0]));
  30. }
  31. [ObservableProperty]
  32. private ObservableCollection<LineType> _LinesSolid = [];
  33. [ObservableProperty]
  34. private ObservableCollection<LineType> _LinesDash = [];
  35. }
  36. internal partial class LineType : ObservableObject
  37. {
  38. public LineType(string color, DoubleCollection dash)
  39. {
  40. this.Brush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#" + color));
  41. this.HexRGB = color;
  42. this.DashArray = dash;
  43. if (dash[1] != 0)
  44. LinePattern = ScottPlot.LinePattern.Dashed;
  45. else
  46. LinePattern = ScottPlot.LinePattern.Solid;
  47. }
  48. [ObservableProperty]
  49. private bool _IsEnable = true;
  50. public ScottPlot.LinePattern LinePattern { get; }
  51. public string HexRGB { get; }
  52. public Brush? Brush { get; set; }
  53. public DoubleCollection? DashArray { get; set; }
  54. }