PlatformView.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <UserControl x:Class="Venus_MainPages.Views.PlatformView"
  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:Venus_MainPages.Views"
  7. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  10. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  11. mc:Ignorable="d"
  12. xmlns:prism="http://prismlibrary.com/"
  13. prism:ViewModelLocator.AutoWireViewModel="True"
  14. d:DesignHeight="450" d:DesignWidth="1500">
  15. <UserControl.Resources>
  16. <converters:BoolToBool x:Key="boolToBool"/>
  17. <converters:BoolToColor x:Key="boolToColor"/>
  18. <converters:BoolToColor2 x:Key="boolToColor2"/>
  19. <converters:VisibilityToReverse x:Key="VisibilityToReverse"/>
  20. </UserControl.Resources>
  21. <Canvas>
  22. <!--<ctrls:Chamber Canvas.Left="150" Canvas.Top="500"
  23. />-->
  24. <Image Canvas.Left="200" Canvas.Top="500" Width="150" Height="150" Source="Pack://application:,,,/Venus_Themes;Component/Resources/LoadLock.png">
  25. <Image.ContextMenu>
  26. <ContextMenu Visibility="{Binding WaferIsVisibility,Converter={StaticResource VisibilityToReverse}}">
  27. <MenuItem Header="新建晶圆" Command="{Binding NewWaferCommand}"/>
  28. </ContextMenu>
  29. </Image.ContextMenu>
  30. </Image>
  31. <ctrls:WaferCtrl Canvas.Left="242" Canvas.Top="542" WaferData="{Binding PMAWafer}">
  32. <ctrls:WaferCtrl.ContextMenu>
  33. <ContextMenu >
  34. <MenuItem Header="删除晶圆" Command="{Binding DeleteWaferCommand}" />
  35. </ContextMenu>
  36. </ctrls:WaferCtrl.ContextMenu>
  37. </ctrls:WaferCtrl>
  38. <!--<Ellipse Stroke="White" Width="80" Height="80" Canvas.Left="235" Canvas.Top="536" Visibility="{Binding PMAWaferIsVisibility}">
  39. <Ellipse.ContextMenu>
  40. <ContextMenu >
  41. <MenuItem Header="删除晶圆" Command="{Binding DeleteWaferCommand}" />
  42. </ContextMenu>
  43. </Ellipse.ContextMenu>
  44. <Ellipse.Fill>
  45. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  46. <GradientStop Color="Gray" Offset="0"/>
  47. <GradientStop Color="White" Offset="0.7"/>
  48. <GradientStop Color="Silver" Offset="1"/>
  49. </LinearGradientBrush>
  50. </Ellipse.Fill>
  51. </Ellipse>-->
  52. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="120" Canvas.Left="90" Canvas.Top="120" IsFlowing="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}">
  53. </ctrls:FlowPipe>
  54. <ctrls:FlowPipe x:Name="purgeFlow2" Height="8" Width="142" Canvas.Left="276" Canvas.Top="220" RotateTransformValue="90" IsFlowing="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}"/>
  55. <ctrls:Pump Canvas.Top="360" Canvas.Left="254" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}">
  56. <ctrls:Pump.ContextMenu>
  57. <ContextMenu>
  58. <!--<RadioButton Content="Open" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen}"/>
  59. <RadioButton Content="Close" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource boolToBool}}"/>-->
  60. <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}"/>
  61. <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>
  62. </ContextMenu>
  63. </ctrls:Pump.ContextMenu>
  64. </ctrls:Pump>
  65. <TextBlock Canvas.Top="320" Canvas.Left="300" Text="吹扫计数:" FontSize="15"/>
  66. <TextBlock Canvas.Top="320" Canvas.Left="380" Text="{Binding PurgeCounter}" FontSize="15"/>
  67. <!--<ctrls:FlowPipeValve Height="20" Width="24" Canvas.Left="130" Canvas.Top="110" IsOpen="{Binding VentValveIsOpen,Mode=TwoWay}"/>-->
  68. <customControls:CommonValveControl Status="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="130" Canvas.Top="113" IsCanEdit="True" Tag="28" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  69. <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="285.5" Canvas.Top="310" RotateTransformValue="90" IsOpen="{Binding PumpValveIsOpen,Mode=TwoWay}"/>-->
  70. <customControls:CommonValveControl Status="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="262" Canvas.Top="310" IsCanEdit="True" Tag="29" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  71. <!--<ctrls:CustomSwitch Height="20" Value=" Slit Door Open " Canvas.Left="100" Canvas.Top="300" IsOpen="{Binding LoadLockDoorIsOpen,Mode=TwoWay}">
  72. </ctrls:CustomSwitch>-->
  73. <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}" Canvas.Left="70" Canvas.Top="302" Stroke="Silver" StrokeThickness="2"/>
  74. <Button Height="22" Content=" Slit Door Open " Canvas.Left="100" Canvas.Top="300" Command="{Binding OpenDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>
  75. <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor}}" Canvas.Left="70" Canvas.Top="342" Stroke="Silver" StrokeThickness="2"/>
  76. <Button Height="22" Content=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" Command="{Binding CloseDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>
  77. <!--<ctrls:CustomSwitch Height="20" Value=" Slit Door Close " Canvas.Left="100" Canvas.Top="340" IsOpen="{Binding LoadLockDoorIsOpen,Mode=TwoWay,Converter={StaticResource boolToBool}}"/>-->
  78. <Border BorderBrush="Gray" BorderThickness="0" Width="180" Height="6" Canvas.Left="330" Canvas.Top="120">
  79. <Border.Background>
  80. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  81. <GradientStop Color="Gray" Offset="0"/>
  82. <GradientStop Color="White" Offset="0.5"/>
  83. <GradientStop Color="Gray" Offset="1"/>
  84. </LinearGradientBrush>
  85. </Border.Background>
  86. </Border>
  87. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="275" Canvas.Top="280">
  88. <Border.Background>
  89. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  90. <GradientStop Color="Gray" Offset="0"/>
  91. <GradientStop Color="White" Offset="0.5"/>
  92. <GradientStop Color="Gray" Offset="1"/>
  93. </LinearGradientBrush>
  94. </Border.Background>
  95. </Border>
  96. <ctrls:TextboxWithLabel Canvas.Left="310" Canvas.Top="254" LabelValue="CM3(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.LoadlockPressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>
  97. <ctrls:TextboxWithLabel Canvas.Left="500" Canvas.Top="94" LabelValue="CM(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.ForelinePressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>
  98. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="400" Canvas.Top="124" >
  99. <Border.RenderTransform>
  100. <RotateTransform Angle="90"/>
  101. </Border.RenderTransform>
  102. <Border.Background>
  103. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  104. <GradientStop Color="Gray" Offset="0"/>
  105. <GradientStop Color="White" Offset="0.5"/>
  106. <GradientStop Color="Gray" Offset="1"/>
  107. </LinearGradientBrush>
  108. </Border.Background>
  109. </Border>
  110. <Border BorderBrush="Gray" BorderThickness="0" Width="40" Height="6" Canvas.Left="420" Canvas.Top="80" >
  111. <Border.RenderTransform>
  112. <RotateTransform Angle="90"/>
  113. </Border.RenderTransform>
  114. <Border.Background>
  115. <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
  116. <GradientStop Color="Gray" Offset="0"/>
  117. <GradientStop Color="White" Offset="0.5"/>
  118. <GradientStop Color="Gray" Offset="1"/>
  119. </LinearGradientBrush>
  120. </Border.Background>
  121. </Border>
  122. <Ellipse Width="20" Height="20" Canvas.Left="407" Canvas.Top="60" Fill="{Binding RtDataValues[PMA.IsATMLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  123. <Ellipse Width="20" Height="20" Canvas.Left="387" Canvas.Top="160" Fill="{Binding RtDataValues[PMA.IsVACLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>
  124. <TextBlock Text="ATM" Canvas.Left="405" Canvas.Top="40"/>
  125. <TextBlock Text="VAC" Canvas.Left="387" Canvas.Top="185"/>
  126. <TextBlock Text="N2" Canvas.Left="30" Canvas.Top="116"/>
  127. <Image Canvas.Left="50" Canvas.Top="110" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" />
  128. <Image Canvas.Left="200" Canvas.Top="100" Width="141" Height="141" Source="Pack://application:,,,/Venus_Themes;Component/Resources/LoadLock.png">
  129. <!--<Image.ContextMenu>
  130. <ContextMenu Visibility="{Binding WaferIsVisibility,Converter={StaticResource VisibilityToReverse}}">
  131. <MenuItem Header="新建晶圆" Command="{Binding NewWaferCommand}"/>
  132. </ContextMenu>
  133. </Image.ContextMenu>-->
  134. </Image>
  135. <!--<Ellipse Stroke="White" Width="80" Height="80" Canvas.Left="231" Canvas.Top="130" Visibility="{Binding WaferInPosSensor.Value,Converter={StaticResource bool2VisibilityConverter}}">
  136. <Ellipse.Fill>
  137. <LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
  138. <GradientStop Color="Silver" Offset="0"/>
  139. <GradientStop Color="White" Offset="0.5"/>
  140. <GradientStop Color="Gray" Offset="1"/>
  141. </LinearGradientBrush>
  142. </Ellipse.Fill>
  143. </Ellipse>-->
  144. <ctrls:WaferCtrl Canvas.Left="238" Canvas.Top="140" WaferData="{Binding LLAWafer}"/>
  145. <Grid Canvas.Left="600" Canvas.Top="120" >
  146. <Grid.RowDefinitions>
  147. <RowDefinition Height="30"/>
  148. <RowDefinition Height="Auto"/>
  149. <!--<RowDefinition Height="30"/>
  150. <RowDefinition Height="Auto"/>
  151. <RowDefinition Height="Auto"/>
  152. <RowDefinition Height="30"/>
  153. <RowDefinition Height="Auto"/>-->
  154. <RowDefinition />
  155. </Grid.RowDefinitions>
  156. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  157. <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  158. <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">
  159. <Path.RenderTransform>
  160. <TransformGroup>
  161. <ScaleTransform/>
  162. <SkewTransform/>
  163. <RotateTransform Angle="45"/>
  164. <TranslateTransform/>
  165. </TransformGroup>
  166. </Path.RenderTransform>
  167. </Path>
  168. <TextBlock Margin="5,0,0,0" Text="LoadLock Manual Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  169. </StackPanel>
  170. </Border>
  171. <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">
  172. <StackPanel Margin="10,10,10,0" Orientation="Horizontal" HorizontalAlignment="Center">
  173. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  174. <!--<Button Content="初始化" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding LLInitCommnad}">
  175. </Button>-->
  176. <!--放片-->
  177. <Button Content="抽气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PumpCommand}">
  178. </Button>
  179. <!--检测漏率-->
  180. <Button Content="充气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding VentCommand}">
  181. </Button>
  182. </StackPanel>
  183. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  184. <!--充气-->
  185. <Button Content="循环吹扫" Width="80" Height="25" Margin="0 0 0 10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PurgeCommand}">
  186. </Button>
  187. </StackPanel>
  188. <StackPanel Margin="10,0,10,0" Orientation="Vertical">
  189. <!--充气-->
  190. <Button Content="放片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding PlaceWaferCommand}"/>
  191. <!--取片-->
  192. <Button Content="取片" Width="80" Height="25" Margin="0 0 0 10" Command="{Binding MoveWaferCommand}"/>
  193. </StackPanel>
  194. </StackPanel>
  195. </Border>
  196. </Grid>
  197. </Canvas>
  198. </UserControl>