SignalPreviewViewModel.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Avalonia.Collections;
  2. using Shaker.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace ShakerApp.ViewModels
  9. {
  10. internal class SignalPreviewViewModel:ViewModelBase<IModel>, IDataPreview
  11. {
  12. public AvaloniaList<AnalogSignalPreviewViewModel> SignalPreviews { get; } = new AvaloniaList<AnalogSignalPreviewViewModel>();
  13. private bool upSignalData;
  14. private int rowCount = 1;
  15. private int columnCount = 1;
  16. private SignalPreviewViewModel()
  17. {
  18. Content = typeof(Views.SignalPreviewView);
  19. SignalPreviews.Add(new AnalogSignalPreviewViewModel(AnalogType.Displacement));
  20. SignalPreviews.Add(new AnalogSignalPreviewViewModel(AnalogType.Acceleration));
  21. SignalPreviews.Add(new AnalogSignalPreviewViewModel(AnalogType.OutSignal));
  22. SignalPreviews.Add(new AnalogSignalPreviewViewModel(AnalogType.Driver));
  23. }
  24. static SignalPreviewViewModel()
  25. {
  26. }
  27. public int RowCount { get => rowCount; set =>SetProperty(ref rowCount , value); }
  28. public int ColumnCount { get => columnCount; set =>SetProperty(ref columnCount , value); }
  29. public static SignalPreviewViewModel Instance { get; } = new SignalPreviewViewModel();
  30. public bool UpSignalData
  31. {
  32. get => upSignalData;
  33. set
  34. {
  35. upSignalData = value;
  36. foreach (var item in SignalPreviews)
  37. {
  38. item.UpSignalData = value;
  39. }
  40. }
  41. }
  42. }
  43. }