MetalSHUIControl.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <UserControl x:Class="CyberX8_Themes.UserControls.MetalSHUIControl"
  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:CyberX8_Themes.UserControls"
  7. xmlns:userControls="clr-namespace:CyberX8_Themes.UserControls"
  8. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls"
  9. xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
  10. mc:Ignorable="d" x:Name="self"
  11. d:DesignHeight="450" d:DesignWidth="800">
  12. <UserControl.Resources>
  13. <converters:BoolToVisibility2 x:Key="boolToVisibility2"></converters:BoolToVisibility2>
  14. <converters:BoolToOrientation x:Key="boolToOrientation"></converters:BoolToOrientation>
  15. <converters:BoolToColor x:Key="boolToColor"/>
  16. <converters:BoolToBool x:Key="boolToBool"/>
  17. <Style x:Key="DisableContextMenuStyle" TargetType="userControls:Pump1">
  18. <Setter Property="IsEnabled" Value="False"/>
  19. </Style>
  20. <ContextMenu x:Key="IsClampValveOpen">
  21. <MenuItem Header="Open" Click="OpenClampValve_Click"/>
  22. <MenuItem Header="Close" Click="CloseClampValve_Click"/>
  23. </ContextMenu>
  24. <ContextMenu x:Key="CellCirculationValve">
  25. <MenuItem Header="Flow" Click="OpenCellFlow_Click"/>
  26. <MenuItem Header="Bypass" Click="OpenCellBypass_Click"/>
  27. </ContextMenu>
  28. </UserControl.Resources>
  29. <Grid>
  30. <!--左边滑杆-->
  31. <Rectangle Margin="347,90,447,131" Panel.ZIndex="2" Stroke="White" StrokeThickness="0.5">
  32. <Rectangle.Fill>
  33. <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
  34. <GradientStop Offset="0" Color="White" />
  35. <GradientStop Offset="1" Color="DimGray" />
  36. </LinearGradientBrush>
  37. </Rectangle.Fill>
  38. </Rectangle>
  39. <Rectangle Fill="CornflowerBlue" Margin="345,142,453,131" Panel.ZIndex="1" Stroke="Black" StrokeThickness="0.2"/>
  40. <Rectangle Fill="DimGray" Margin="339,142,455,131" Panel.ZIndex="1" Stroke="Black" StrokeThickness="0.3"/>
  41. <Rectangle Fill="PowderBlue" Margin="353,142,435,131" Panel.ZIndex="1" Stroke="Gray" StrokeThickness="0.5"/>
  42. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="357,152,439,287"/>
  43. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="357,179,439,261"/>
  44. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="357,208,439,232"/>
  45. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="357,240,439,200"/>
  46. <!--右边滑杆-->
  47. <Rectangle Margin="551,90,243,130" Panel.ZIndex="2" Stroke="White" StrokeThickness="0.5">
  48. <Rectangle.Fill>
  49. <LinearGradientBrush StartPoint="1,0" EndPoint="0,0">
  50. <GradientStop Offset="0" Color="White" />
  51. <GradientStop Offset="1" Color="DimGray" />
  52. </LinearGradientBrush>
  53. </Rectangle.Fill>
  54. </Rectangle>
  55. <Rectangle Fill="DimGray" Margin="559,142,235,130" Panel.ZIndex="1" Stroke="Black" StrokeThickness="0.3"/>
  56. <Rectangle Fill="PowderBlue" Margin="539,142,249,130" Panel.ZIndex="1" Stroke="Gray" StrokeThickness="0.5"/>
  57. <Rectangle Fill="CornflowerBlue" Margin="557,142,241,130" Panel.ZIndex="1" Stroke="Black" StrokeThickness="0.2"/>
  58. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="543,153,253,287"/>
  59. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="543,179,253,261"/>
  60. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="543,209,253,231"/>
  61. <Border Width="4" Background="Black" CornerRadius="5,5,5,5" Panel.ZIndex="1" Margin="543,240,253,200"/>
  62. <!--reservoir背景-->
  63. <Polyline Fill="White" Stroke="LightGray" Points="0,0 0,400 450,400 450,25 100,25 100,0 0,0" StrokeThickness="3" Margin="175,65,175,-60"/>
  64. <Polyline Fill="LightGray" Stroke="LightGray" Points="90,0 90,35 450,35 450,25 100,25 100,0 90,0" StrokeThickness="3" Margin="175,65,175,-60"/>
  65. <!-- 中间背景-->
  66. <Rectangle Fill="White" Stroke="Black" Margin="323,137,221,41" RadiusX="2" RadiusY="2" />
  67. <!-- 顶部背景-->
  68. <Rectangle Fill="White" Stroke="Black" Margin="305,89,207,307" RadiusX="1" RadiusY="1" />
  69. <!--WaferHolder UI-->
  70. <Polyline Opacity="0.6" Visibility="{Binding ElementName=self,Path=IsWaferHolder,Converter={StaticResource boolToVisibility2}}" Stroke="Black" Points="10,0 10,40 25,40 25,310 263,310 263,40 278,40 278,0 10,0" StrokeThickness="3" Margin="308,93,204,43">
  71. <Polyline.Fill>
  72. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  73. <GradientStop Color="Silver" Offset="0.0" />
  74. <GradientStop Color="White" Offset="0.5" />
  75. <GradientStop Color="Silver" Offset="1" />
  76. </LinearGradientBrush>
  77. </Polyline.Fill>
  78. </Polyline>
  79. <Ellipse Opacity="0.6" Visibility="{Binding ElementName=self,Path=IsWaferHolder,Converter={StaticResource boolToVisibility2}}" Margin="377,156,273,146">
  80. <Ellipse.Fill>
  81. <LinearGradientBrush EndPoint="0,0" StartPoint="1,1">
  82. <GradientStop Color="Silver" Offset="0.2" />
  83. <GradientStop Color="White" Offset="0.5" />
  84. <GradientStop Color="Silver" Offset="0.7" />
  85. <GradientStop Color="DarkGray" Offset="0.9"/>
  86. </LinearGradientBrush>
  87. </Ellipse.Fill>
  88. </Ellipse>
  89. <!-- 左边螺丝-->
  90. <userControls:Screw Width="15" Height="15" Margin="324,122,462,313"/>
  91. <userControls:Screw Width="15" Height="15" Margin="324,174,462,261"/>
  92. <userControls:Screw Width="15" Height="15" Margin="324,226,462,209"/>
  93. <userControls:Screw Width="15" Height="15" Margin="324,273,462,162"/>
  94. <userControls:Screw Width="15" Height="15" Margin="324,320,462,115" />
  95. <!-- 右边螺丝-->
  96. <userControls:Screw Width="15" Height="15" Margin="564,122,222,313"/>
  97. <userControls:Screw Width="15" Height="15" Margin="564,174,222,261"/>
  98. <userControls:Screw Width="15" Height="15" Margin="564,226,222,209"/>
  99. <userControls:Screw Width="15" Height="15" Margin="564,273,222,162"/>
  100. <userControls:Screw Width="15" Height="15" Margin="564,320,222,115" />
  101. <Rectangle Fill="Gray" Margin="549,42,241,360" RadiusX="1" RadiusY="1" />
  102. <Rectangle Fill="Black" Margin="549,42,249,360" />
  103. <Rectangle Margin="551,42,243,360" RadiusX="1" RadiusY="1">
  104. <Rectangle.Fill>
  105. <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
  106. <GradientStop Offset="0" Color="White" />
  107. <GradientStop Offset="1" Color="DimGray" />
  108. </LinearGradientBrush>
  109. </Rectangle.Fill>
  110. </Rectangle>
  111. <Rectangle Fill="Gray" Margin="345,41,445,361" RadiusX="1" RadiusY="1" />
  112. <Rectangle Fill="Black" Margin="345,41,453,361" />
  113. <Rectangle Margin="347,41,447,361" RadiusX="1" RadiusY="1">
  114. <Rectangle.Fill>
  115. <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
  116. <GradientStop Offset="0" Color="White" />
  117. <GradientStop Offset="1" Color="DimGray" />
  118. </LinearGradientBrush>
  119. </Rectangle.Fill>
  120. </Rectangle>
  121. <Rectangle Fill="White" Opacity="0.5" Margin="323,340,441,41" RadiusX="1" RadiusY="1" Stroke="Black" StrokeThickness="1"/>
  122. <Rectangle Fill="White" Opacity="0.5" Margin="543,340,221,41" RadiusX="1" RadiusY="1" Stroke="Black" StrokeThickness="1"/>
  123. <!--中间动画模块-->
  124. <Grid Width="400" Height="300" Panel.ZIndex="2" Margin="262,80,138,70">
  125. <Canvas x:Name="linmot" >
  126. <Image Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/metalMove.png"
  127. Height="98" Width="224" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="2" Canvas.Left="85"
  128. Canvas.Top="{Binding ElementName=self,Path=YaxleData}">
  129. </Image>
  130. </Canvas>
  131. </Grid>
  132. <Rectangle x:Name="GrowingRectangle" Fill="PaleGreen" Height="0" VerticalAlignment="Bottom" Margin="359,0,257,42">
  133. <Rectangle.Style>
  134. <Style TargetType="Rectangle">
  135. <Style.Triggers>
  136. <DataTrigger Binding="{Binding ElementName=self,Path=PumpData.PumpValve}" Value="True">
  137. <DataTrigger.EnterActions>
  138. <BeginStoryboard x:Name="GrowingStoryboard">
  139. <Storyboard >
  140. <DoubleAnimation Storyboard.TargetProperty="Height" To="50" Duration="0:0:30"/>
  141. </Storyboard>
  142. </BeginStoryboard>
  143. </DataTrigger.EnterActions>
  144. <DataTrigger.ExitActions>
  145. <StopStoryboard BeginStoryboardName="GrowingStoryboard"/>
  146. </DataTrigger.ExitActions>
  147. </DataTrigger>
  148. </Style.Triggers>
  149. </Style>
  150. </Rectangle.Style>
  151. </Rectangle>
  152. <Rectangle x:Name="ErrorRectangle" Fill="Transparent" Height="234" VerticalAlignment="Bottom" Margin="370,0,266,50" Opacity="0.5" Panel.ZIndex="3"
  153. Visibility="{Binding ElementName=self,Path=IsError,Converter={StaticResource boolToVisibility2}}"/>
  154. <!--Clamp Valve On-->
  155. <userControls:FlowPipe Margin="76,112,674,330" Width="50" IsFlowing="{Binding IsClampValveOpen, ElementName=self}" IsReverse="False"/>
  156. <userControls:FlowPipe Margin="132,112,492,330" Width="175" IsFlowing="{Binding IsClampValveOpen, ElementName=self}" IsReverse="False"/>
  157. <Label Height="25" FontSize="13" FontWeight="Bold" Content="Clamp Valve" Margin="80,82,600,343" />
  158. <Canvas Width="30" Height="30" Margin="116,101,654,319">
  159. <customControls:CommonValveControl Height="16" Width="16" Canvas.Left="7" Canvas.Top="6" HorizontalAlignment="Center" VerticalAlignment="Top"
  160. ValveOrientation="Horizontal" Status="{Binding IsClampValveOpen, ElementName=self}"
  161. IsCanEdit="True" ContextMenu="{StaticResource IsClampValveOpen}" RenderTransformOrigin="-0.75,0.312"/>
  162. </Canvas>
  163. <!--Cell Circulation-->
  164. <userControls:Fan Width="45" Height="46" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="102,366,0,0" RenderTransformOrigin="0.5,0.5" Panel.ZIndex="1" ContextMenu="{StaticResource CellCirculationValve}">
  165. <userControls:Fan.RenderTransform>
  166. <TransformGroup>
  167. <ScaleTransform/>
  168. <SkewTransform/>
  169. <RotateTransform Angle="0"/>
  170. <TranslateTransform/>
  171. </TransformGroup>
  172. </userControls:Fan.RenderTransform>
  173. </userControls:Fan>
  174. <userControls:FlowPipe Margin="130,340,620,102" Width="50" IsFlowing="{Binding ElementName=self,Path=IsCellCirculationValveOn,Converter={StaticResource boolToBool}}" IsReverse="False"/>
  175. <userControls:FlowPipe Margin="128,351,650,91" Width="22" IsFlowing="{Binding ElementName=self,Path=IsCellCirculationValveOn,Converter={StaticResource boolToBool}}" RotateTransformValue="90" IsReverse="True"/>
  176. <userControls:Pipe2 RotateTransformValue="-90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="121,354,0,0" />
  177. <userControls:FlowPipe Margin="131,431,349,11" Width="320" IsFlowing="{Binding ElementName=self,Path=IsCellCirculationValveOn}" IsReverse="False"/>
  178. <userControls:FlowPipe Margin="463,408,317,34" Width="20" IsFlowing="{Binding ElementName=self,Path=IsCellCirculationValveOn}" RotateTransformValue="90" IsReverse="True"/>
  179. <userControls:FlowPipe Margin="128,408,650,34" Width="22" RotateTransformValue="90" IsFlowing="{Binding ElementName=self,Path=IsCellCirculationValveOn}" IsReverse="False"/>
  180. <userControls:Pipe2 RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="464,427,0,0" />
  181. <userControls:Pipe2 RotateTransformValue="180" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="134,440,0,0" />
  182. <userControls:FlowPipe Margin="-110,385,690,57" Width="220" IsFlowing="{Binding ElementName=self,Path=IsCellPumpOn}" IsReverse="False"/>
  183. <userControls:FlowPipe Margin="-111,315,845,127" Width="66" IsFlowing="{Binding ElementName=self,Path=IsCellPumpOn}" RotateTransformValue="90" IsReverse="False"/>
  184. <userControls:FlowPipe Margin="-110,304,622,138" Width="288" IsFlowing="{Binding ElementName=self,Path=IsCellPumpOn}" IsReverse="True"/>
  185. <userControls:Pipe2 RotateTransformValue="-90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-118,318,0,0" />
  186. <userControls:Pipe2 RotateTransformValue="180" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-105,394,0,0" />
  187. <Canvas Width="50" Height="80" Margin="52,385,698,-15">
  188. <userControls:PrewetTankControl/>
  189. <Rectangle Width="20" Height="40" Canvas.Left="6" Canvas.Top="24" HorizontalAlignment="Left" VerticalAlignment="Top"
  190. Visibility="{Binding ElementName=self,Path=IsCellPumpOn,Converter={StaticResource boolToVisibility2}}"
  191. Fill="Lime"/>
  192. </Canvas>
  193. <Canvas Width="60" Height="80" Margin="-30,326,770,44" Panel.ZIndex="2">
  194. <userControls:Pump1 RotateTransformValue="0" Width="60" IsOpenPump="{Binding ElementName=self,Path=IsCellPumpOn,Mode=TwoWay}" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Center"
  195. ModuleName="{Binding ElementName=self, Path=ModuleName}" Canvas.Left="-35" />
  196. </Canvas>
  197. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-34,394,0,0" RenderTransformOrigin="0.5,0.5">
  198. <Polygon.RenderTransform>
  199. <TransformGroup>
  200. <ScaleTransform/>
  201. <SkewTransform/>
  202. <RotateTransform Angle="-180"/>
  203. <TranslateTransform/>
  204. </TransformGroup>
  205. </Polygon.RenderTransform>
  206. </Polygon>
  207. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-54,402,0,0"/>
  208. <Label Content="Filter Purge Enable" FontSize="13" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="-119,0,0,16"/>
  209. <Ellipse Grid.Column="0" Width="16" Height="16" Fill="{Binding ElementName=self,Path=IsCellPumpOn,Converter={StaticResource boolToColor}}" HorizontalAlignment="Right" Stroke="Silver" Margin="0,413,766,21"/>
  210. <Label Content="Cell Flow" FontSize="13" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="26,0,0,112"/>
  211. <Border Margin="10,340,690,86" Background="Black">
  212. <TextBlock Text="{Binding ElementName=self,Path=MetalData.CellFlow,StringFormat=\{0:F1\} L/min,Mode=TwoWay}" Foreground="Lime" FontSize="13" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  213. </Border>
  214. </Grid>
  215. </UserControl>