WaferHolderView.xaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core" x:Class="CyberX8_MainPages.Views.WaferHolderView"
  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_MainPages.Views"
  7. xmlns:validation="clr-namespace:CyberX8_MainPages.Validation"
  8. xmlns:prism="http://prismlibrary.com/"
  9. mc:Ignorable="d" Name="self"
  10. prism:ViewModelLocator.AutoWireViewModel="True"
  11. d:DesignHeight="750" d:DesignWidth="1800" Loaded="UserControl_Loaded">
  12. <Grid>
  13. <GroupBox Margin="10,20">
  14. <Grid>
  15. <Grid.RowDefinitions>
  16. <RowDefinition Height="480"></RowDefinition>
  17. <RowDefinition></RowDefinition>
  18. <RowDefinition Height="60"></RowDefinition>
  19. </Grid.RowDefinitions>
  20. <Grid.ColumnDefinitions>
  21. <ColumnDefinition></ColumnDefinition>
  22. <ColumnDefinition Width="400"></ColumnDefinition>
  23. </Grid.ColumnDefinitions>
  24. <DataGrid MinRowHeight="27" Grid.Row="0" Grid.Column="0" AutoGenerateColumns="False" CanUserAddRows="False" FontFamily="Arial" FontSize="14" Margin="0,10,0,0"
  25. ItemsSource="{Binding BufferDatas}" SelectedItem="{Binding SelectedBufferData}" SelectionMode="Single">
  26. <DataGrid.Columns>
  27. <DataGridTextColumn Header="Buffer&#x0a;ID" Width="50" Binding="{Binding Id,Mode=OneWay}" CanUserSort="false" CanUserReorder="False" IsReadOnly="True" CanUserResize="False" >
  28. </DataGridTextColumn>
  29. <DataGridTextColumn Header="WS ID" Binding="{Binding WaferHolderId,Mode=OneWay}" Width="100*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="True" >
  30. </DataGridTextColumn>
  31. <DataGridTextColumn Header="WS Total&#x0a; Uses" Binding="{Binding TotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  32. </DataGridTextColumn>
  33. <DataGridTextColumn Header="LS Type" Binding="{Binding CrsType,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  34. </DataGridTextColumn>
  35. <DataGridTextColumn Header="Wafer&#x0a;Size" Binding="{Binding WaferSize,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  36. </DataGridTextColumn>
  37. <DataGridTextColumn Header="Chemistry" Binding="{Binding Chemistry,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  38. </DataGridTextColumn>
  39. <DataGridTextColumn Header="IsEnabled" Binding="{Binding Enabled,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  40. </DataGridTextColumn>
  41. <DataGridTextColumn Header="LS-A ID" Binding="{Binding CrsAId,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  42. </DataGridTextColumn>
  43. <DataGridTextColumn Header="LS-A&#x0a;Total Uses" Binding="{Binding CrsATotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  44. </DataGridTextColumn>
  45. <!--<DataGridTextColumn Header="LS-A&#x0a;Pad Clean" Binding="{Binding CrsAUsesSincePadClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  46. </DataGridTextColumn>
  47. <DataGridTextColumn Header="LS-A&#x0a;SealClean" Binding="{Binding CrsAUsesSinceSealClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  48. </DataGridTextColumn>-->
  49. <DataGridTextColumn Header="LS-B ID" Binding="{Binding CrsBId,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  50. </DataGridTextColumn>
  51. <DataGridTextColumn Header="LS-B&#x0a;Total Uses" Binding="{Binding CrsBTotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  52. </DataGridTextColumn>
  53. <!--<DataGridTextColumn Header="LS-B&#x0a;Pad Clean" Binding="{Binding CrsBUsesSincePadClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  54. </DataGridTextColumn>
  55. <DataGridTextColumn Header="LS-B&#x0a;Seal Clean" Binding="{Binding CrsBUsesSinceSealClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  56. </DataGridTextColumn>
  57. <DataGridTextColumn Header="Total&#x0a;Dummy Wafers" Binding="{Binding TotalDummyWafers,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  58. </DataGridTextColumn>
  59. <DataGridTextColumn Header="Total&#x0a;Product Wafers" Binding="{Binding TotalProductWafers,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  60. </DataGridTextColumn>-->
  61. <DataGridTextColumn Header="Current Location" Binding="{Binding CurrentLocation,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  62. </DataGridTextColumn>
  63. </DataGrid.Columns>
  64. </DataGrid>
  65. <DataGrid MinRowHeight="27" Grid.Row="1" Grid.Column="0" AutoGenerateColumns="False" CanUserAddRows="False" FontFamily="Arial" FontSize="14" Margin="160,10,0,0"
  66. ItemsSource="{Binding UnusedWaferHolders}" SelectedItem="{Binding SelectedUnusedWaferHolderInfo}" SelectionMode="Single">
  67. <DataGrid.Columns>
  68. <DataGridTextColumn Header="WS ID" Binding="{Binding Id,Mode=OneWay}" Width="100*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="True" >
  69. </DataGridTextColumn>
  70. <DataGridTextColumn Header="WS Total&#x0a; Uses" Binding="{Binding TotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  71. </DataGridTextColumn>
  72. <DataGridTextColumn Header="LS Type" Binding="{Binding CrsType,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  73. </DataGridTextColumn>
  74. <DataGridTextColumn Header="Wafer&#x0a;Size" Binding="{Binding WaferSize,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  75. </DataGridTextColumn>
  76. <DataGridTextColumn Header="Chemistry" Binding="{Binding Chemistry,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  77. </DataGridTextColumn>
  78. <DataGridTextColumn Header="IsEnabled" Binding="{Binding Enabled,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  79. </DataGridTextColumn>
  80. <DataGridTextColumn Header="LS-A ID" Binding="{Binding CrsAId,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  81. </DataGridTextColumn>
  82. <DataGridTextColumn Header="LS-A&#x0a;Total Uses" Binding="{Binding CrsATotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  83. </DataGridTextColumn>
  84. <!--<DataGridTextColumn Header="LS-A&#x0a;Pad Clean" Binding="{Binding CrsAUsesSincePadClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  85. </DataGridTextColumn>
  86. <DataGridTextColumn Header="LS-A&#x0a;SealClean" Binding="{Binding CrsAUsesSinceSealClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  87. </DataGridTextColumn>-->
  88. <DataGridTextColumn Header="LS-B ID" Binding="{Binding CrsBId,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  89. </DataGridTextColumn>
  90. <DataGridTextColumn Header="LS-B&#x0a;Total Uses" Binding="{Binding CrsBTotalUses,Mode=OneWay}" Width="70*" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  91. </DataGridTextColumn>
  92. <!--<DataGridTextColumn Header="LS-B&#x0a;Pad Clean" Binding="{Binding CrsBUsesSincePadClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  93. </DataGridTextColumn>
  94. <DataGridTextColumn Header="LS-B&#x0a;Seal Clean" Binding="{Binding CrsBUsesSinceSealClean,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  95. </DataGridTextColumn>
  96. <DataGridTextColumn Header="Total&#x0a;Dummy Wafers" Binding="{Binding TotalDummyWafers,Mode=OneWay}" Width="Auto" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  97. </DataGridTextColumn>
  98. <DataGridTextColumn Header="Total&#x0a;Product Wafers" Width="*" Binding="{Binding TotalProductWafers,Mode=OneWay}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" CanUserResize="False">
  99. </DataGridTextColumn>-->
  100. </DataGrid.Columns>
  101. </DataGrid>
  102. <Grid Grid.Row="2" Grid.Column="0">
  103. <GroupBox Header="Operation">
  104. <StackPanel Orientation="Horizontal">
  105. <Button Content="Enable" Width="120" Margin="200,0,0,0" Command="{Binding EnableCommand}"/>
  106. <Button Content="Disable" Width="120" Margin="40,0,0,0" Command="{Binding DisableCommand}"/>
  107. <Button Content="Add" Width="120" Margin="40,0,0,0" Command="{Binding AddCommand}"/>
  108. <Button Content="Edit" Width="120" Margin="40,0,0,0" Command="{Binding EditCommand}" />
  109. <Button Content="Remove" Width="120" Margin="40,0,0,0" Command="{Binding RemoveCommand}"/>
  110. <Button Content="Move To Buffer" Width="120" Margin="40,0,0,0" Command="{Binding MoveToLoaderCommand}"/>
  111. <Button Content="Move To Unuser" Width="120" Margin="40,0,0,0" Command="{Binding MoveFromLoaderCommand}"/>
  112. </StackPanel>
  113. </GroupBox>
  114. </Grid>
  115. <GroupBox Header="Wafer Shuttle" Grid.Row="0" Grid.Column="1" Grid.RowSpan="3" >
  116. <Grid>
  117. <Grid.RowDefinitions>
  118. <RowDefinition Height="300"></RowDefinition>
  119. <RowDefinition Height="160"></RowDefinition>
  120. <RowDefinition Height="160"></RowDefinition>
  121. <RowDefinition Height="60"></RowDefinition>
  122. <RowDefinition></RowDefinition>
  123. </Grid.RowDefinitions>
  124. <Grid Grid.Row="0">
  125. <Grid.ColumnDefinitions>
  126. <ColumnDefinition Width="30*"/>
  127. <ColumnDefinition Width="67*"/>
  128. </Grid.ColumnDefinitions>
  129. <Grid.RowDefinitions>
  130. <RowDefinition Height="180"></RowDefinition>
  131. <RowDefinition Height="120"></RowDefinition>
  132. </Grid.RowDefinitions>
  133. <GroupBox Header="Basic" Grid.Row="0" Grid.ColumnSpan="2">
  134. <Grid>
  135. <Grid.RowDefinitions>
  136. <RowDefinition></RowDefinition>
  137. <RowDefinition></RowDefinition>
  138. <RowDefinition></RowDefinition>
  139. <RowDefinition></RowDefinition>
  140. </Grid.RowDefinitions>
  141. <Grid.ColumnDefinitions>
  142. <ColumnDefinition Width="120"></ColumnDefinition>
  143. <ColumnDefinition></ColumnDefinition>
  144. </Grid.ColumnDefinitions>
  145. <Label Grid.Row="0" Grid.Column="0" Content="WS ID:" VerticalAlignment="Center" IsEnabled="{Binding IsEdit}"></Label>
  146. <WrapPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" IsEnabled="{Binding IsEdit}">
  147. <TextBox x:Name="txtWaferHolderId" Width="90" Height="30" Text="{Binding TmpBufferData.WaferHolderId}" VerticalContentAlignment="Center" IsEnabled="{Binding IsEditWaferHolderId}">
  148. </TextBox>
  149. <CheckBox VerticalAlignment="Center" Content="Allow Edit" IsChecked="{Binding IsEditWaferHolderId}"></CheckBox>
  150. </WrapPanel>
  151. <Label Content="LS Type:" Grid.Row="1" VerticalAlignment="Center" IsEnabled="{Binding IsEdit}"></Label>
  152. <ComboBox IsEnabled="{Binding IsEdit}" Grid.Row="1" Grid.Column="1" Height="30" Margin="0,0,20,0" SelectedItem="{Binding TmpBufferData.CrsType}" ItemsSource="{Binding CrsTypeLst}"></ComboBox>
  153. <Label IsEnabled="{Binding IsEdit}" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Content="Wafer Size:"></Label>
  154. <ComboBox IsEnabled="{Binding IsEdit}" Grid.Row="2" Grid.Column="1" Height="30" Margin="0,0,20,0" SelectedItem="{Binding TmpBufferData.WaferSize}" ItemsSource="{Binding WaferSizeLst}">
  155. </ComboBox>
  156. <Label IsEnabled="{Binding IsEdit}" Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Content="Chemistry:"></Label>
  157. <ComboBox IsEnabled="{Binding IsEdit}" Grid.Row="3" Grid.Column="1" Height="30" Margin="0,0,20,0" SelectedItem="{Binding TmpBufferData.Chemistry}" ItemsSource="{Binding ChemistryLst}">
  158. </ComboBox>
  159. <!--<Label Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" IsEnabled="{Binding IsLocationEdit}" Content="Current Loaction:"></Label>
  160. <ComboBox Grid.Row="4" Grid.Column="1" Height="30" Margin="0,0,20,0" IsEnabled="{Binding IsLocationEdit}" SelectedItem="{Binding TmpBufferData.CurrentLocation}" ItemsSource="{Binding LocationLst}">
  161. </ComboBox>-->
  162. </Grid>
  163. </GroupBox>
  164. <GroupBox Header="Total" Grid.Row="1" IsEnabled="{Binding IsEdit}" Grid.ColumnSpan="2">
  165. <Grid>
  166. <Grid.RowDefinitions>
  167. <RowDefinition></RowDefinition>
  168. <RowDefinition></RowDefinition>
  169. <RowDefinition></RowDefinition>
  170. </Grid.RowDefinitions>
  171. <Grid.ColumnDefinitions>
  172. <ColumnDefinition Width="180"></ColumnDefinition>
  173. <ColumnDefinition></ColumnDefinition>
  174. </Grid.ColumnDefinitions>
  175. <Label Content="Total Uses:" Grid.Row="0"></Label>
  176. <Control:IntegerTextBox Grid.Row="0" Grid.Column="1" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.TotalUses,Mode=TwoWay}"></Control:IntegerTextBox>
  177. <Label Content="Total Product Wafers:" Grid.Row="1"></Label>
  178. <Control:IntegerTextBox Grid.Row="1" Grid.Column="1" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.TotalProductWafers,Mode=TwoWay}"></Control:IntegerTextBox>
  179. <Label Content="Total Dummy Wafers:" Grid.Row="2"></Label>
  180. <Control:IntegerTextBox Grid.Row="2" Grid.Column="1" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.TotalDummyWafers,Mode=TwoWay}"></Control:IntegerTextBox>
  181. </Grid>
  182. </GroupBox>
  183. </Grid>
  184. <GroupBox Header="LS-A" Grid.Row="1" IsEnabled="{Binding IsEdit}">
  185. <Grid>
  186. <Grid.RowDefinitions>
  187. <RowDefinition></RowDefinition>
  188. <RowDefinition></RowDefinition>
  189. <RowDefinition></RowDefinition>
  190. <RowDefinition></RowDefinition>
  191. </Grid.RowDefinitions>
  192. <Grid.ColumnDefinitions>
  193. <ColumnDefinition Width="39"></ColumnDefinition>
  194. <ColumnDefinition Width="141"/>
  195. <ColumnDefinition></ColumnDefinition>
  196. </Grid.ColumnDefinitions>
  197. <Label Content="ID:" Grid.ColumnSpan="2"></Label>
  198. <TextBox Grid.Row="0" Grid.Column="2" Margin="2,2,20,2" VerticalContentAlignment="Center" Text="{Binding TmpBufferData.CrsAId,Mode=TwoWay}"></TextBox>
  199. <Label Content="Total Uses:" Grid.ColumnSpan="2" Margin="0,34,0,34" Grid.RowSpan="3"/>
  200. <Control:IntegerTextBox Grid.Row="1" Grid.Column="2" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.CrsATotalUses,Mode=TwoWay}"></Control:IntegerTextBox>
  201. <Label Content="Total Uses Since Seal Clean:" Grid.Row="2" Grid.ColumnSpan="2"></Label>
  202. <Control:IntegerTextBox Grid.Row="2" Grid.Column="2" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.CrsAUsesSinceSealClean,Mode=TwoWay}"></Control:IntegerTextBox>
  203. <Label Content="Total Uses Since Pad Clean:" Grid.Row="2" Grid.ColumnSpan="2" Margin="0,34,0,0" Grid.RowSpan="2"></Label>
  204. <Control:IntegerTextBox Grid.Row="3" Grid.Column="2" Margin="2,2,20,2" VerticalContentAlignment="Center" Value="{Binding TmpBufferData.CrsAUsesSincePadClean,Mode=TwoWay}"/>
  205. </Grid>
  206. </GroupBox>
  207. <GroupBox Header="LS-B" Grid.Row="2" IsEnabled="{Binding IsEdit}">
  208. <Grid>
  209. <Grid.RowDefinitions>
  210. <RowDefinition></RowDefinition>
  211. <RowDefinition></RowDefinition>
  212. <RowDefinition></RowDefinition>
  213. <RowDefinition></RowDefinition>
  214. </Grid.RowDefinitions>
  215. <Grid.ColumnDefinitions>
  216. <ColumnDefinition Width="180"></ColumnDefinition>
  217. <ColumnDefinition></ColumnDefinition>
  218. </Grid.ColumnDefinitions>
  219. <Label Content="ID:"></Label>
  220. <TextBox Grid.Row="0" Grid.Column="1" Margin="2,2,20,2" VerticalContentAlignment="Center" Text="{Binding TmpBufferData.CrsBId,Mode=TwoWay}"></TextBox>
  221. <Label Content="Total Uses:" Grid.Row="1"></Label>
  222. <Control:IntegerTextBox Grid.Row="1" Grid.Column="1" Margin="2,2,20,2" Value="{Binding TmpBufferData.CrsBTotalUses,Mode=TwoWay}"></Control:IntegerTextBox>
  223. <Label Content="Total Uses Since Seal Clean:" Grid.Row="2"></Label>
  224. <Control:IntegerTextBox Grid.Row="2" Grid.Column="1" Margin="2,2,20,2" Value="{Binding TmpBufferData.CrsBUsesSinceSealClean,Mode=TwoWay}"></Control:IntegerTextBox>
  225. <Label Content="Total Uses Since Pad Clean:" Grid.Row="3"></Label>
  226. <Control:IntegerTextBox Grid.Row="3" Grid.Column="1" Margin="2,2,20,2" Value="{Binding TmpBufferData.CrsBUsesSincePadClean,Mode=TwoWay}"></Control:IntegerTextBox>
  227. </Grid>
  228. </GroupBox>
  229. <Grid Grid.Row="3">
  230. <Button Width="120" HorizontalAlignment="Left" Content="Read Set Barcode" Height="30" IsEnabled="{Binding IsEdit}"></Button>
  231. <Button Width="80" Content="Save" Height="30" Margin="135,15,93,15" Command="{Binding SaveCommand}" IsEnabled="{Binding IsSaveandCancelEdit}"></Button>
  232. <Button Width="80" HorizontalAlignment="Right" Content="Cancel" Height="30" Command="{Binding CancelCommand}" IsEnabled="{Binding IsSaveandCancelEdit}"></Button>
  233. </Grid>
  234. </Grid>
  235. </GroupBox>
  236. </Grid>
  237. </GroupBox>
  238. </Grid>
  239. </UserControl>