WaferAssociationUnit.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Operations.WaferAssociation.WaferAssociationUnit"
  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:sys="clr-namespace:System;assembly=mscorlib"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:micro="clr-namespace:Caliburn.Micro"
  9. xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls">
  10. <UserControl.Resources>
  11. <Style TargetType="ToolTip">
  12. <Style.Triggers>
  13. <Trigger Property="Content"
  14. Value="{x:Static sys:String.Empty}">
  15. <Setter Property="Visibility"
  16. Value="Collapsed" />
  17. </Trigger>
  18. </Style.Triggers>
  19. </Style>
  20. </UserControl.Resources>
  21. <Grid VerticalAlignment="Top">
  22. <Grid.RowDefinitions>
  23. <RowDefinition Height="Auto"></RowDefinition>
  24. <RowDefinition></RowDefinition>
  25. </Grid.RowDefinitions>
  26. <Grid>
  27. <Grid.RowDefinitions>
  28. <RowDefinition Height="24"></RowDefinition>
  29. <RowDefinition Height="24"></RowDefinition>
  30. <RowDefinition Height="Auto"></RowDefinition>
  31. <RowDefinition Height="24"></RowDefinition>
  32. <RowDefinition Height="Auto"></RowDefinition>
  33. <RowDefinition Height="Auto"></RowDefinition>
  34. </Grid.RowDefinitions>
  35. <StackPanel Grid.Row="0" Orientation="Horizontal">
  36. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
  37. <TextBlock Text="Lot ID" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  38. </Border>
  39. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="235" Padding="5,1">
  40. <StackPanel Orientation="Horizontal">
  41. <controls:TextBoxEx Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextSaved="{Binding WAInfo.LotIdSaved, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Mode=TwoWay}" Width="138" ></controls:TextBoxEx>
  42. </StackPanel>
  43. </Border>
  44. </StackPanel>
  45. <StackPanel Grid.Row="1" Orientation="Horizontal">
  46. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
  47. <TextBlock Text="Sequence" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  48. </Border>
  49. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Width="235" Padding="5,1">
  50. <StackPanel Orientation="Horizontal">
  51. <TextBox Text="{Binding WAInfo.SequenceName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" IsReadOnly="True" Width="138" ></TextBox>
  52. <Button Content="Select" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Padding="0" Margin="5,0,0,0">
  53. <i:Interaction.Triggers>
  54. <i:EventTrigger EventName="Click">
  55. <micro:ActionMessage MethodName="SelectSequence">
  56. <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
  57. </micro:ActionMessage>
  58. </i:EventTrigger>
  59. </i:Interaction.Triggers>
  60. </Button>
  61. </StackPanel>
  62. </Border>
  63. </StackPanel>
  64. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,2" HorizontalAlignment="Left" VerticalAlignment="Center">
  65. <Button Content="Set All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" >
  66. <i:Interaction.Triggers>
  67. <i:EventTrigger EventName="Click">
  68. <micro:ActionMessage MethodName="SetAll">
  69. <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
  70. </micro:ActionMessage>
  71. </i:EventTrigger>
  72. </i:Interaction.Triggers>
  73. </Button>
  74. <Button Content="Deselect All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" Margin="5,0,0,0">
  75. <i:Interaction.Triggers>
  76. <i:EventTrigger EventName="Click">
  77. <micro:ActionMessage MethodName="DeselectAll">
  78. <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
  79. </micro:ActionMessage>
  80. </i:EventTrigger>
  81. </i:Interaction.Triggers>
  82. </Button>
  83. </StackPanel>
  84. <StackPanel Grid.Row="3" Orientation="Horizontal">
  85. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="60" Padding="5,1">
  86. <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  87. </Border>
  88. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="103" Padding="5,1">
  89. <TextBlock x:Name="txtJobID" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" VerticalAlignment="Center" FontSize="12" FontFamily="Arial" Width="Auto" Height="20"></TextBlock>
  90. </Border>
  91. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="60" Padding="5,1">
  92. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  93. </Border>
  94. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="102" Padding="5,1">
  95. <TextBlock VerticalAlignment="Center" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="12" FontFamily="Arial" Width="Auto" Height="20"></TextBlock>
  96. </Border>
  97. </StackPanel>
  98. <StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,2" HorizontalAlignment="Left" VerticalAlignment="Center">
  99. <Button Content="Create Job" IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" >
  100. <i:Interaction.Triggers>
  101. <i:EventTrigger EventName="Click">
  102. <micro:ActionMessage MethodName="CreateJob">
  103. <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
  104. </micro:ActionMessage>
  105. </i:EventTrigger>
  106. </i:Interaction.Triggers>
  107. </Button>
  108. <Button Content="Abort Job" IsEnabled="{Binding WAInfo.IsEnableAbort, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="5,0,0,0" Width="160" Height="25">
  109. <i:Interaction.Triggers>
  110. <i:EventTrigger EventName="Click">
  111. <micro:ActionMessage MethodName="AbortJob">
  112. <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
  113. </micro:ActionMessage>
  114. </i:EventTrigger>
  115. </i:Interaction.Triggers>
  116. </Button>
  117. </StackPanel>
  118. <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  119. <Button Content="Start" IsEnabled="{Binding WAInfo.IsEnableStart, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25">
  120. <i:Interaction.Triggers>
  121. <i:EventTrigger EventName="Click">
  122. <micro:ActionMessage MethodName="Start">
  123. <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
  124. </micro:ActionMessage>
  125. </i:EventTrigger>
  126. </i:Interaction.Triggers>
  127. </Button>
  128. <Button Content="Pause" IsEnabled="{Binding WAInfo.IsEnablePause, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">
  129. <i:Interaction.Triggers>
  130. <i:EventTrigger EventName="Click">
  131. <micro:ActionMessage MethodName="Pause">
  132. <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
  133. </micro:ActionMessage>
  134. </i:EventTrigger>
  135. </i:Interaction.Triggers>
  136. </Button>
  137. <Button Content="Resume" IsEnabled="{Binding WAInfo.IsEnableResume, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">
  138. <i:Interaction.Triggers>
  139. <i:EventTrigger EventName="Click">
  140. <micro:ActionMessage MethodName="Resume">
  141. <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
  142. </micro:ActionMessage>
  143. </i:EventTrigger>
  144. </i:Interaction.Triggers>
  145. </Button>
  146. <Button Content="Stop" IsEnabled="{Binding WAInfo.IsEnableStop, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="77" Height="25" Margin="5,0,0,0">
  147. <i:Interaction.Triggers>
  148. <i:EventTrigger EventName="Click">
  149. <micro:ActionMessage MethodName="Stop">
  150. <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
  151. </micro:ActionMessage>
  152. </i:EventTrigger>
  153. </i:Interaction.Triggers>
  154. </Button>
  155. </StackPanel>
  156. </Grid>
  157. <ListBox Grid.Row="1" Focusable="False" ItemsSource="{Binding WAInfo.ModuleData.WaferManager.Wafers, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="0,0">
  158. <ListBox.Resources>
  159. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  160. <Setter Property="Rectangle.StrokeThickness" Value="0"/>
  161. </Style>
  162. </ListBox.Resources>
  163. <ListBox.ItemTemplate>
  164. <DataTemplate>
  165. <Grid Height="20">
  166. <Grid.ColumnDefinitions>
  167. <ColumnDefinition Width="Auto"></ColumnDefinition>
  168. <!--<ColumnDefinition Width="Auto"></ColumnDefinition>-->
  169. <ColumnDefinition Width="Auto"></ColumnDefinition>
  170. <ColumnDefinition Width="Auto"></ColumnDefinition>
  171. </Grid.ColumnDefinitions>
  172. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="40" Padding="5,1">
  173. <TextBlock Name="txtSlotIndex" Text="{Binding SlotIndex}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  174. </Border>
  175. <!--<Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">
  176. <TextBlock Text="{Binding WaferID}" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  177. </Border>-->
  178. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Width="190" Padding="5,1">
  179. <Border.Style>
  180. <Style>
  181. <Style.Triggers>
  182. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  183. <Setter Property="Border.Background" Value="{DynamicResource Table_BG_Content_Highlight}"/>
  184. </DataTrigger>
  185. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  186. <Setter Property="Border.Background" Value="SkyBlue"/>
  187. </DataTrigger>
  188. </Style.Triggers>
  189. </Style>
  190. </Border.Style>
  191. <TextBlock Name="txtSeqName" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  192. </Border>
  193. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="95" Padding="5,1">
  194. <Button IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Height="8" FontSize="11" Margin="0,-4">
  195. <i:Interaction.Triggers>
  196. <i:EventTrigger EventName="Click">
  197. <micro:ActionMessage MethodName="SetSequence">
  198. <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
  199. <micro:Parameter Value="{Binding SlotIndex}"></micro:Parameter>
  200. <micro:Parameter Value="{Binding SequenceName}"></micro:Parameter>
  201. </micro:ActionMessage>
  202. </i:EventTrigger>
  203. </i:Interaction.Triggers>
  204. <Button.Style>
  205. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  206. <Setter Property="Button.Content" Value="Remove"/>
  207. <Style.Triggers>
  208. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  209. <Setter Property="Button.Content" Value="Set"/>
  210. </DataTrigger>
  211. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  212. <Setter Property="Button.IsEnabled" Value="False"/>
  213. </DataTrigger>
  214. </Style.Triggers>
  215. </Style>
  216. </Button.Style>
  217. </Button>
  218. </Border>
  219. </Grid>
  220. </DataTemplate>
  221. </ListBox.ItemTemplate>
  222. </ListBox>
  223. <Grid>
  224. <Grid.Style>
  225. <Style>
  226. <Style.Triggers>
  227. <DataTrigger Binding="{Binding WAInfo.ModuleData.IsInstalled, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="false">
  228. <Setter Property="Grid.Visibility" Value="Collapsed"/>
  229. </DataTrigger>
  230. </Style.Triggers>
  231. </Style>
  232. </Grid.Style>
  233. </Grid>
  234. </Grid>
  235. </UserControl>