WaferAssociationUnit.xaml 19 KB

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