ChamberWithHeater.xaml.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. using OpenSEMI.Ctrlib.Controls;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using Venus_Themes.Unity;
  5. using static Venus_Themes.UserControls.EFEM;
  6. namespace Venus_Themes.UserControls
  7. {
  8. /// <summary>
  9. /// Chamber.xaml 的交互逻辑
  10. /// </summary>
  11. public partial class ChamberWithHeater : UserControl
  12. {
  13. public ChamberWithHeater()
  14. {
  15. InitializeComponent();
  16. }
  17. public static readonly DependencyProperty IsOpenSlitDoorProperty = DependencyProperty.Register(
  18. "IsOpenSlitDoor", typeof(bool), typeof(ChamberWithHeater));
  19. public bool IsOpenSlitDoor
  20. {
  21. get { return (bool)this.GetValue(IsOpenSlitDoorProperty); }
  22. set { this.SetValue(IsOpenSlitDoorProperty, value); }
  23. }
  24. public static readonly DependencyProperty IsHasWaferProperty = DependencyProperty.Register(
  25. "IsHasWafer", typeof(bool), typeof(ChamberWithHeater),
  26. new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  27. public bool IsHasWafer
  28. {
  29. get { return (bool)this.GetValue(IsHasWaferProperty); }
  30. set { this.SetValue(IsHasWaferProperty, value); }
  31. }
  32. public static readonly DependencyProperty IsLidOpenProperty = DependencyProperty.Register(
  33. "IsLidOpen", typeof(bool), typeof(ChamberWithHeater));
  34. public bool IsLidOpen
  35. {
  36. get { return (bool)this.GetValue(IsLidOpenProperty); }
  37. set { this.SetValue(IsLidOpenProperty, value); }
  38. }
  39. public static readonly DependencyProperty IsSRFOnProperty = DependencyProperty.Register(
  40. "IsSRFOn", typeof(bool), typeof(ChamberWithHeater),
  41. new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  42. public bool IsSRFOn
  43. {
  44. get { return (bool)this.GetValue(IsSRFOnProperty); }
  45. set { this.SetValue(IsSRFOnProperty, value); }
  46. }
  47. public static readonly DependencyProperty IsBRFOnProperty = DependencyProperty.Register(
  48. "IsBRFOn", typeof(bool), typeof(ChamberWithHeater),
  49. new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  50. public bool IsBRFOn
  51. {
  52. get { return (bool)this.GetValue(IsBRFOnProperty); }
  53. set { this.SetValue(IsBRFOnProperty, value); }
  54. }
  55. public static readonly DependencyProperty WaferIDProperty = DependencyProperty.Register(
  56. "WaferID", typeof(string), typeof(ChamberWithHeater));
  57. public string WaferID
  58. {
  59. get { return (string)this.GetValue(WaferIDProperty); }
  60. set { this.SetValue(WaferIDProperty, value); }
  61. }
  62. public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
  63. "ModuleName", typeof(string), typeof(ChamberWithHeater));
  64. public string ModuleName
  65. {
  66. get { return (string)this.GetValue(ModuleNameProperty); }
  67. set
  68. {
  69. this.SetValue(ModuleNameProperty, value);
  70. }
  71. }
  72. public static readonly DependencyProperty HeaterPositionProperty = DependencyProperty.Register(
  73. "HeaterPosition", typeof(string), typeof(ChamberWithHeater), new PropertyMetadata("Position1", PositionChangedCallback));
  74. public string HeaterPosition
  75. {
  76. get { return (string)this.GetValue(HeaterPositionProperty); }
  77. set { this.SetValue(HeaterPositionProperty, value); }
  78. }
  79. private void CreateWafer_Click(object sender, RoutedEventArgs e)
  80. {
  81. UIEvents.OnChamberCreateDeleteWafer(new WaferOperation() { ModuleName = ModuleName, IsCreate = true });
  82. }
  83. private void DeleteWafer_Click(object sender, RoutedEventArgs e)
  84. {
  85. UIEvents.OnChamberCreateDeleteWafer(new WaferOperation() { ModuleName = ModuleName, IsCreate = false });
  86. }
  87. private void OpenDoor_Click(object sender, RoutedEventArgs e)
  88. {
  89. //var t = ((((this.Parent as Canvas).Parent as Canvas).Parent as UserControl).DataContext).;
  90. UIEvents.OnPMDoorRaiseChanged(new DoorPara() { ModuleName = ModuleName, IsOpen = "Open" });
  91. }
  92. private void CloseDoor_Click(object sender, RoutedEventArgs e)
  93. {
  94. UIEvents.OnPMDoorRaiseChanged(new DoorPara() { ModuleName = ModuleName, IsOpen = "Close" });
  95. }
  96. private static void PositionChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
  97. {
  98. var newAct = e.NewValue.ToString();
  99. var control = d as ChamberWithHeater;
  100. if (newAct == "Position1")
  101. {
  102. control.border1.Margin=new Thickness(0, -14, 0, 0);
  103. }
  104. else
  105. {
  106. control.border1.Margin=new Thickness(0, -10, 0, 0);
  107. }
  108. GoToPosition(control, newAct);
  109. }
  110. private static void GoToPosition(Control control, string robotPosition)
  111. {
  112. VisualStateManager.GoToElementState(control, robotPosition, true);
  113. }
  114. }
  115. }