FOUPTopView.xaml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <UserControl x:Class="VirgoUI.Client.Models.Controls.FOUPTopView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:VirgoUI.Client.Models.Controls"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:cal="http://www.caliburn.org"
  9. xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"
  10. xmlns:converter="clr-namespace:VirgoUI.Client.Models.Converter"
  11. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  12. mc:Ignorable="d">
  13. <UserControl.Resources>
  14. <Storyboard x:Key="FOUPDoor_Close">
  15. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" >
  16. <EasingDoubleKeyFrame KeyTime="0" Value="10"/>
  17. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="43.5"/>
  18. </DoubleAnimationUsingKeyFrames>
  19. </Storyboard>
  20. <Storyboard x:Key="FOUPDoor_Open">
  21. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)">
  22. <EasingDoubleKeyFrame KeyTime="0" Value="43.5"/>
  23. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="10"/>
  24. </DoubleAnimationUsingKeyFrames>
  25. </Storyboard>
  26. <Storyboard x:Key="body_up">
  27. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >
  28. <EasingThicknessKeyFrame KeyTime="0" Value="2,10,2,0"/>
  29. <EasingThicknessKeyFrame KeyTime="0:0:0.2" Value="2,0,2,0"/>
  30. </ThicknessAnimationUsingKeyFrames>
  31. </Storyboard>
  32. <Storyboard x:Key="body_down">
  33. <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)">
  34. <EasingThicknessKeyFrame KeyTime="0" Value="2,0,2,0"/>
  35. <EasingThicknessKeyFrame KeyTime="0:0:0.2" Value="2,10,2,0"/>
  36. </ThicknessAnimationUsingKeyFrames>
  37. </Storyboard>
  38. <Style TargetType="{x:Type Rectangle}" x:Key="Door_Animation" >
  39. <Style.Triggers>
  40. <DataTrigger Binding="{Binding DoorState}" Value="Open">
  41. <DataTrigger.EnterActions>
  42. <BeginStoryboard Storyboard="{StaticResource FOUPDoor_Open}"/>
  43. </DataTrigger.EnterActions>
  44. <DataTrigger.ExitActions>
  45. <BeginStoryboard Storyboard="{StaticResource FOUPDoor_Close}"/>
  46. </DataTrigger.ExitActions>
  47. </DataTrigger>
  48. </Style.Triggers>
  49. </Style>
  50. </UserControl.Resources>
  51. <Grid x:Name="root" Width="85" Height="100">
  52. <Border BorderBrush="Black" BorderThickness="1" CornerRadius="0,0,5,5">
  53. <Border BorderThickness="1,0,1,1" Margin="4,-1,4,4" CornerRadius="0,0,4,4" Background="#FFB4B4B4" BorderBrush="#FF7C7C7C">
  54. <Grid x:Name="FOUP_Body" >
  55. <Grid.Style>
  56. <Style>
  57. <Setter Property="Grid.Visibility" Value="Collapsed" />
  58. <Style.Triggers>
  59. <DataTrigger Binding="{Binding CassetteState}" Value="Normal">
  60. <Setter Property="Grid.Visibility" Value="Visible" />
  61. </DataTrigger>
  62. </Style.Triggers>
  63. </Style>
  64. </Grid.Style>
  65. <Grid.ContextMenu>
  66. <ContextMenu>
  67. <MenuItem Header="Home" Click="MenuItem_Click" Tag="LoadportHome" />
  68. <MenuItem Header="Abort" Click="MenuItem_Click" Tag="LoadportAbort" />
  69. <MenuItem Header="Stop" Click="MenuItem_Click" Tag="LoadportStop" />
  70. <Separator />
  71. <MenuItem Header="Clamp" Click="MenuItem_Click" Tag="LoadportClamp" />
  72. <MenuItem Header="Unlamp" Click="MenuItem_Click" Tag="LoadportUnlamp" />
  73. <MenuItem Header="Load" Click="MenuItem_Click" Tag="LoadportLoad" />
  74. <MenuItem Header="Unload" Click="MenuItem_Click" Tag="LoadportUnload" />
  75. <MenuItem Header="Open Door" Click="MenuItem_Click" Tag="LoadportOpenDoor" />
  76. <MenuItem Header="Close Door" Click="MenuItem_Click" Tag="LoadportCloseDoor" />
  77. <MenuItem Header="Dock" Click="MenuItem_Click" Tag="LoadportDock" />
  78. <MenuItem Header="Undock" Click="MenuItem_Click" Tag="LoadportUndock" />
  79. <MenuItem Header="Map" Click="MenuItem_Click" Tag="LoadportMap" />
  80. </ContextMenu>
  81. </Grid.ContextMenu>
  82. <Rectangle Fill="#FFD8D8D8" Margin="4,0,4,4" Stroke="Black" RadiusY="5" RadiusX="5">
  83. <Rectangle.Effect>
  84. <BlurEffect Radius="25"/>
  85. </Rectangle.Effect>
  86. </Rectangle>
  87. <Grid x:Name="FOUP_Body_Inner" Margin="2,10,2,0" VerticalAlignment="Top">
  88. <Rectangle Fill="#FF3484B6" Height="6" VerticalAlignment="Top"/>
  89. <Path Data="M0,0 L65,0 65,53.6665 65,54 64.98787,54 64.957711,54.30118 C64.087258,60.817829 49.88834,66 32.5,66 15.11166,66 0.91274095,60.817829 0.042288512,54.30118 L0.012133257,54 0,54 0,53.6665 z" Fill="#FF72ADCC" Margin="2,5,2,0" VerticalAlignment="Top" Width="65" Height="66" Stroke="#FF4399C6"/>
  90. <Path Data="M0.5,0.5 L34.5,0.5 34.5,63.642655 33.637119,63.844716 C28.89949,64.896935 23.385284,65.5 17.5,65.5 11.614716,65.5 6.1005077,64.896935 1.3628788,63.844716 L0.5,63.642655 z" Fill="#FF7EB8D6" Margin="17,5,17,0" VerticalAlignment="Top" Stroke="#FF4399C6"/>
  91. <Grid.Style>
  92. <Style>
  93. <Style.Triggers>
  94. <DataTrigger Binding="{Binding DoorState}" Value="Open">
  95. <DataTrigger.EnterActions>
  96. <BeginStoryboard Storyboard="{StaticResource body_up}"/>
  97. </DataTrigger.EnterActions>
  98. <DataTrigger.ExitActions>
  99. <BeginStoryboard Storyboard="{StaticResource body_down}"/>
  100. </DataTrigger.ExitActions>
  101. </DataTrigger>
  102. </Style.Triggers>
  103. </Style>
  104. </Grid.Style>
  105. </Grid>
  106. <Rectangle Fill="#FFABABAB" HorizontalAlignment="Center" Height="10" Stroke="#FF838383" VerticalAlignment="Bottom" Width="45" RadiusX="1" RadiusY="1" Margin="0,0,0,2"/>
  107. </Grid>
  108. </Border>
  109. <Border.Style>
  110. <Style>
  111. <Setter Property="Border.Background" Value="Gray"/>
  112. </Style>
  113. </Border.Style>
  114. </Border>
  115. <Grid x:Name="FOUP_Door" Height="10" VerticalAlignment="Top" Margin="-1,0">
  116. <Rectangle x:Name="FOUPDoor_Left" Fill="Black" Style="{StaticResource Door_Animation}" HorizontalAlignment="Left" Width="43.5" Height="6" VerticalAlignment="Center"/>
  117. <Rectangle x:Name="FOUPDoor_Right" Fill="Black" Style="{StaticResource Door_Animation}" HorizontalAlignment="Right" Width="43.5" Height="6" VerticalAlignment="Center"/>
  118. <Rectangle HorizontalAlignment="Left" Stroke="#FF434343" Width="10">
  119. <Rectangle.Fill>
  120. <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
  121. <GradientStop Color="#FF4D4D4D" Offset="0"/>
  122. <GradientStop Color="#FFCCCCCC" Offset="1"/>
  123. </LinearGradientBrush>
  124. </Rectangle.Fill>
  125. </Rectangle>
  126. <Rectangle HorizontalAlignment="Right" Stroke="#FF434343" Width="10">
  127. <Rectangle.Fill>
  128. <LinearGradientBrush EndPoint="0,0.5" StartPoint="1,0.5">
  129. <GradientStop Color="#FF4D4D4D" Offset="0"/>
  130. <GradientStop Color="#FFCCCCCC" Offset="1"/>
  131. </LinearGradientBrush>
  132. </Rectangle.Fill>
  133. </Rectangle>
  134. </Grid>
  135. </Grid>
  136. </UserControl>