StepNameDefineViewModel.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. namespace ParameterModule.ViewModels.Parameter;
  2. internal partial class StepNameDefineViewModel : ObservableObject, IActiveAware
  3. {
  4. public StepNameDefineViewModel()
  5. {
  6. this.AllSteps = [];
  7. for (int i = 1; i <= 200; i++)
  8. {
  9. StepDefine step = new()
  10. {
  11. Index = i,
  12. Name = $"Step {i}",
  13. };
  14. this.AllSteps.Add(step);
  15. }
  16. }
  17. event EventHandler IActiveAware.IsActiveChanged { add { } remove { } }
  18. private bool _isActive;
  19. public bool IsActive
  20. {
  21. get => _isActive;
  22. set
  23. {
  24. _isActive = value;
  25. if (value)
  26. this.Steps = this.AllSteps?.Take(80);
  27. }
  28. }
  29. [ObservableProperty]
  30. private IEnumerable<StepDefine>? _Steps;
  31. [ObservableProperty]
  32. private ObservableCollection<StepDefine>? _AllSteps;
  33. [RelayCommand]
  34. private void Select(string para)
  35. {
  36. switch (para)
  37. {
  38. case "1":
  39. this.Steps = this.AllSteps?.Take(80);
  40. break;
  41. case "2":
  42. this.Steps = this.AllSteps?.Skip(80).Take(80);
  43. break;
  44. case "3":
  45. this.Steps = this.AllSteps?.Skip(160).Take(80);
  46. break;
  47. default:
  48. break;
  49. }
  50. }
  51. }
  52. public partial class StepDefine : ObservableObject
  53. {
  54. [ObservableProperty]
  55. private int _Index;
  56. [ObservableProperty]
  57. private string? _Name;
  58. }