WaferAssociationUnit.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <UserControl x:Class="Virgo_DUI.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. </StackPanel>
  56. <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
  57. <Button Content="Set Slot" Width="70" Height="25">
  58. <i:Interaction.Triggers>
  59. <i:EventTrigger EventName="Click">
  60. <cal:ActionMessage MethodName="SetSlot">
  61. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  62. </cal:ActionMessage>
  63. </i:EventTrigger>
  64. </i:Interaction.Triggers>
  65. </Button>
  66. <Button Content="Skip Slot" Width="70" Height="25" Margin="5,0,0,0">
  67. <i:Interaction.Triggers>
  68. <i:EventTrigger EventName="Click">
  69. <cal:ActionMessage MethodName="SkipSlot">
  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="全选" Width="70" Height="25" Margin="5,0,0,0">
  76. <i:Interaction.Triggers>
  77. <i:EventTrigger EventName="Click">
  78. <cal:ActionMessage MethodName="SetAll">
  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="70" Height="25" Margin="5,0,0,0">
  85. <i:Interaction.Triggers>
  86. <i:EventTrigger EventName="Click">
  87. <cal:ActionMessage MethodName="DeselectAll">
  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. </StackPanel>
  94. <StackPanel Grid.Row="3" Orientation="Horizontal">
  95. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="45" Padding="5,1">
  96. <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  97. </Border>
  98. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="90" Padding="5,1">
  99. <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>
  100. </Border>
  101. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">
  102. <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
  103. </Border>
  104. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="110" Padding="5,1">
  105. <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>
  106. </Border>
  107. </StackPanel>
  108. <StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
  109. <Button Content="创建作业" Width="145" Height="25" >
  110. <i:Interaction.Triggers>
  111. <i:EventTrigger EventName="Click">
  112. <cal:ActionMessage MethodName="CreateJob">
  113. <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>
  114. </cal:ActionMessage>
  115. </i:EventTrigger>
  116. </i:Interaction.Triggers>
  117. </Button>
  118. <Button Content="终止作业" Margin="5,0,0,0" Width="145" Height="25">
  119. <i:Interaction.Triggers>
  120. <i:EventTrigger EventName="Click">
  121. <cal:ActionMessage MethodName="AbortJob">
  122. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  123. </cal:ActionMessage>
  124. </i:EventTrigger>
  125. </i:Interaction.Triggers>
  126. </Button>
  127. </StackPanel>
  128. <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
  129. <Button Content="开始" Width="70" Height="25">
  130. <i:Interaction.Triggers>
  131. <i:EventTrigger EventName="Click">
  132. <cal:ActionMessage MethodName="Start">
  133. <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>
  134. </cal:ActionMessage>
  135. </i:EventTrigger>
  136. </i:Interaction.Triggers>
  137. </Button>
  138. <Button Content="暂停" Width="70" Height="25" Margin="5,0,0,0">
  139. <i:Interaction.Triggers>
  140. <i:EventTrigger EventName="Click">
  141. <cal:ActionMessage MethodName="Pause">
  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="70" Height="25" Margin="5,0,0,0">
  148. <i:Interaction.Triggers>
  149. <i:EventTrigger EventName="Click">
  150. <cal:ActionMessage MethodName="Resume">
  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="70" Height="25" Margin="5,0,0,0">
  157. <i:Interaction.Triggers>
  158. <i:EventTrigger EventName="Click">
  159. <cal:ActionMessage MethodName="Stop">
  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"
  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>