ItemsSelectDialogViewModel.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System.Linq;
  2. using System.Text;
  3. using System.Threading.Tasks;
  4. using System.Collections.ObjectModel;
  5. using System.Windows;
  6. using System.Windows.Input;
  7. using OpenSEMI.ClientBase;
  8. using OpenSEMI.ClientBase.Command;
  9. using MECF.Framework.Common.RecipeCenter;
  10. namespace VirgoUI.Client.Dialog
  11. {
  12. public class ItemsSelectDialogViewModel : DialogViewModel<string>
  13. {
  14. #region properties
  15. private string _SelectedName;
  16. public string SelectedName
  17. {
  18. get { return _SelectedName; }
  19. set { _SelectedName = value; }
  20. }
  21. public ObservableCollection<string> Items { get; set; }
  22. #endregion
  23. #region Command
  24. private ICommand _BtnSelectCommand;
  25. public ICommand SelectCommand
  26. {
  27. get
  28. {
  29. if (this._BtnSelectCommand == null)
  30. this._BtnSelectCommand = new BaseCommand<EventCommandParameter<object, RoutedEventArgs>>((EventCommandParameter<object, RoutedEventArgs> arg) => this.OnSelectCommand(arg));
  31. return this._BtnSelectCommand;
  32. }
  33. }
  34. private ICommand _BtnCancelCommand;
  35. public ICommand CancelCommand
  36. {
  37. get
  38. {
  39. if (this._BtnCancelCommand == null)
  40. this._BtnCancelCommand = new BaseCommand<EventCommandParameter<object, RoutedEventArgs>>((EventCommandParameter<object, RoutedEventArgs> arg) => this.OnCancelCommand(arg));
  41. return this._BtnCancelCommand;
  42. }
  43. }
  44. private ICommand _ListViewDoubleClick;
  45. public ICommand ListViewDoubleClick
  46. {
  47. get
  48. {
  49. if (this._ListViewDoubleClick == null)
  50. this._ListViewDoubleClick = new BaseCommand<EventCommandParameter<object, RoutedEventArgs>>((EventCommandParameter<object, RoutedEventArgs> arg) => this.OnListViewDoubleClick(arg));
  51. return this._ListViewDoubleClick;
  52. }
  53. }
  54. #endregion
  55. #region Function
  56. protected override void OnInitialize()
  57. {
  58. base.OnInitialize();
  59. this.DisplayName = "Select Dialog";
  60. }
  61. private void OnSelectCommand(EventCommandParameter<object, RoutedEventArgs> arg)
  62. {
  63. DialogResult = SelectedName;
  64. IsCancel = false;
  65. TryClose(true);
  66. }
  67. private void OnListViewDoubleClick(EventCommandParameter<object, RoutedEventArgs> arg)
  68. {
  69. if (arg != null)
  70. {
  71. this.DialogResult = SelectedName;
  72. IsCancel = false;
  73. TryClose(true);
  74. }
  75. }
  76. private void OnCancelCommand(EventCommandParameter<object, RoutedEventArgs> arg)
  77. {
  78. IsCancel = true;
  79. TryClose(false);
  80. }
  81. #endregion
  82. }
  83. }