DialogPickerViewModel.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. namespace ProximaAnalizer.ViewModels.Dialog;
  2. internal partial class DialogPickerViewModel(LineCollection lineCollection) : ObservableObject, IDialogAware
  3. {
  4. [ObservableProperty]
  5. private LineCollection _LineCollection = lineCollection;
  6. public DialogCloseListener RequestClose { get; set; }
  7. [ObservableProperty]
  8. private string _Title = "Line Picker";
  9. private string? Line;
  10. [RelayCommand]
  11. private void SelectLeftLine(LineType lineType)
  12. {
  13. IDialogResult result = new DialogResult();
  14. lineType.IsEnable = false;
  15. result.Parameters.Add("Line", lineType);
  16. result.Parameters.Add("Name", Line!);
  17. result.Parameters.Add("Axis", "L");
  18. this.RequestClose.Invoke(result);
  19. }
  20. [RelayCommand]
  21. private void SelectRightLine(LineType lineType)
  22. {
  23. IDialogResult result = new DialogResult();
  24. lineType.IsEnable = false;
  25. result.Parameters.Add("Line", lineType);
  26. result.Parameters.Add("Name", Line!);
  27. result.Parameters.Add("Axis", "R");
  28. this.RequestClose.Invoke(result);
  29. }
  30. public bool CanCloseDialog()
  31. {
  32. return true;
  33. }
  34. public void OnDialogClosed()
  35. {
  36. }
  37. public void OnDialogOpened(IDialogParameters parameters)
  38. {
  39. parameters.TryGetValue<string>("Line", out Line);
  40. }
  41. }