FoupListControl2.xaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <UserControl x:Class="EfemUI.Controls.FoupListControl2"
  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:Common="clr-namespace:Aitex.Sorter.Common;assembly=Aitex.Sorter.Common"
  7. xmlns:controls="clr-namespace:Aitex.Sorter.UI.Controls;assembly=Aitex.Sorter.UI"
  8. xmlns:common="clr-namespace:Aitex.Sorter.UI.Controls.Common;assembly=Aitex.Sorter.UI"
  9. mc:Ignorable="d"
  10. d:DesignHeight="800" d:DesignWidth="900">
  11. <UserControl.Resources>
  12. <DataTemplate x:Key="opencassette">
  13. <controls:HeaderPanel VerticalAlignment="Top" HorizontalAlignment="Left" Height="116" Width="188" Visibility="{Binding DataContext.ShowAction, ElementName=root,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}">
  14. <controls:HeaderPanel.Header >
  15. <StackPanel Orientation="Horizontal">
  16. <Label Style="{StaticResource Rfid16Digits}" Height="40" Content="{Binding FoupID}" />
  17. </StackPanel>
  18. </controls:HeaderPanel.Header>
  19. <Grid>
  20. <Grid.RowDefinitions>
  21. <RowDefinition Height="45" />
  22. <RowDefinition Height="30" />
  23. </Grid.RowDefinitions>
  24. <TextBox Height="40" Width="180" Margin="3,3,0,0" Text="{Binding FoupIDSetPoint}" common:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" common:CommandHelper.Target="{Binding Station}" common:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" common:TextBoxBehavior.SelectAllTextOnFocus="True">
  25. <TextBox.InputBindings>
  26. <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
  27. </TextBox.InputBindings>
  28. </TextBox>
  29. <StackPanel Grid.Row="1" Orientation="Horizontal">
  30. <Button Margin="8,0,0,0" Height="30" Width="80" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" common:CommandHelper.Target="{Binding Station}" />
  31. <Button Margin="8,0,0,0" Height="30" Width="80" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" common:CommandHelper.Target="{Binding Station}" />
  32. <!--<Button Height="30" Width="80" Grid.Row="1" Grid.ColumnSpan="2" Content="Offline" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" ctrlCommon:CommandHelper.CommandName="{x:Static Common:OperationName.Offline}" ctrlCommon:CommandHelper.Target="{Binding Station}" />-->
  33. </StackPanel>
  34. </Grid>
  35. </controls:HeaderPanel>
  36. </DataTemplate>
  37. <DataTemplate x:Key="opencassettenoreadid">
  38. <controls:HeaderPanel VerticalAlignment="Top" HorizontalAlignment="Left" Height="116" Width="188" Visibility="{Binding DataContext.ShowAction, ElementName=root,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}">
  39. <controls:HeaderPanel.Header >
  40. <StackPanel Orientation="Horizontal">
  41. <Label Height="40" Content="{Binding FoupID}" />
  42. </StackPanel>
  43. </controls:HeaderPanel.Header>
  44. <Grid>
  45. <Grid.RowDefinitions>
  46. <RowDefinition Height="45" />
  47. <RowDefinition Height="30" />
  48. </Grid.RowDefinitions>
  49. <TextBox Height="40" Width="180" Margin="3,3,0,0" Text="" IsEnabled="False"/>
  50. <StackPanel Grid.Row="1" Orientation="Horizontal">
  51. <Button Margin="2,0" Height="30" Width="60" Content="Open" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.OpenDoor}" common:CommandHelper.Target="{Binding Station}" />
  52. <Button Margin="0" Height="30" Width="60" Content="Map" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" common:CommandHelper.Target="{Binding Station}" />
  53. <Button Margin="0" Height="30" Width="60" Content="Close" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.CloseDoor}" common:CommandHelper.Target="{Binding Station}" />
  54. </StackPanel>
  55. </Grid>
  56. </controls:HeaderPanel>
  57. </DataTemplate>
  58. <DataTemplate x:Key="loadport">
  59. <controls:HeaderPanel Header="{Binding FoupID}" VerticalAlignment="Top" HorizontalAlignment="Left" Height="116" Width="188" Visibility="{Binding DataContext.ShowAction, ElementName=root,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}">
  60. <Grid>
  61. <Grid.RowDefinitions>
  62. <RowDefinition Height="45" />
  63. <RowDefinition Height="30" />
  64. </Grid.RowDefinitions>
  65. <TextBox Height="40" Width="180" Margin="0" Text="{Binding FoupIDSetPoint}" common:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" common:CommandHelper.Target="{Binding Station}" common:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" common:TextBoxBehavior.SelectAllTextOnFocus="True">
  66. <TextBox.InputBindings>
  67. <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
  68. </TextBox.InputBindings>
  69. </TextBox>
  70. <StackPanel Grid.Row="1" Orientation="Horizontal">
  71. <Button Margin="0" Height="30" Width="60" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" common:CommandHelper.Target="{Binding Station}" />
  72. <Button Margin="2,0" Height="30" Width="60" Content="Load" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.LoadFoup}" common:CommandHelper.Target="{Binding Station}" />
  73. <Button Margin="0" Height="30" Width="60" Content="Unload" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.UnloadFoup}" common:CommandHelper.Target="{Binding Station}" />
  74. </StackPanel>
  75. </Grid>
  76. </controls:HeaderPanel>
  77. </DataTemplate>
  78. <DataTemplate x:Key="mapbuffer">
  79. <Grid>
  80. <Grid.RowDefinitions>
  81. <RowDefinition Height="45" />
  82. </Grid.RowDefinitions>
  83. <StackPanel Grid.Row="0" Orientation="Horizontal">
  84. <Button Margin="0" Height="40" Width="185" Content="Map" FontSize="12"
  85. Command="{Binding DataContext.MapCommand, ElementName=root}"
  86. common:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}"
  87. common:CommandHelper.Target="{Binding Station}" />
  88. </StackPanel>
  89. </Grid>
  90. </DataTemplate>
  91. <DataTemplate x:Key="SMIF">
  92. <controls:HeaderPanel Header="{Binding FoupID}" VerticalAlignment="Top" HorizontalAlignment="Left" Height="116" Width="188" Visibility="{Binding DataContext.ShowAction, ElementName=root,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}">
  93. <Grid>
  94. <Grid.RowDefinitions>
  95. <RowDefinition Height="45" />
  96. <RowDefinition Height="30" />
  97. </Grid.RowDefinitions>
  98. <TextBox Height="40" Width="180" Margin="0" Text="{Binding FoupIDSetPoint}" common:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" common:CommandHelper.Target="{Binding Station}" common:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" common:TextBoxBehavior.SelectAllTextOnFocus="True">
  99. <TextBox.InputBindings>
  100. <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
  101. </TextBox.InputBindings>
  102. </TextBox>
  103. <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
  104. <Button Margin="0" Height="30" Width="45" Content="ReadID" FontSize="12" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" common:CommandHelper.Target="{Binding Station}" />
  105. <Button Margin="0" Height="30" Width="45" Content="Load" FontSize="12" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.LoadFoup}" common:CommandHelper.Target="{Binding Station}" />
  106. <Button Margin="0" Height="30" Width="45" Content="Map" FontSize="12" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.MapWafer}" common:CommandHelper.Target="{Binding Station}" />
  107. <Button Margin="0" Height="30" Width="45" Content="Unload" FontSize="12" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.UnloadFoup}" common:CommandHelper.Target="{Binding Station}" />
  108. </StackPanel>
  109. </Grid>
  110. </controls:HeaderPanel>
  111. </DataTemplate>
  112. <DataTemplate x:Key="SMIFNOMAP">
  113. <controls:HeaderPanel Header="{Binding FoupID}" VerticalAlignment="Top" HorizontalAlignment="Left" Height="116" Width="188" Visibility="{Binding DataContext.ShowAction, ElementName=root,Converter={StaticResource boolVisibilityConverter},ConverterParameter={StaticResource True}}">
  114. <Grid>
  115. <Grid.RowDefinitions>
  116. <RowDefinition Height="45" />
  117. <RowDefinition Height="30" />
  118. </Grid.RowDefinitions>
  119. <TextBox Height="40" Width="180" Margin="0" Text="{Binding FoupIDSetPoint}" common:CommandHelper.CommandName="{x:Static Common:OperationName.SetManualScanCode}" common:CommandHelper.Target="{Binding Station}" common:CommandHelper.Parameter1="{Binding Text, RelativeSource={RelativeSource Self}}" common:TextBoxBehavior.SelectAllTextOnFocus="True">
  120. <TextBox.InputBindings>
  121. <KeyBinding Command="{Binding DataContext.LoadPortCommand, ElementName=root}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TextBox}}}" Key="Return" />
  122. </TextBox.InputBindings>
  123. </TextBox>
  124. <StackPanel Grid.Row="1" Orientation="Horizontal">
  125. <Button Margin="0" Height="30" Width="60" Content="ReadID" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.Scan}" common:CommandHelper.Target="{Binding Station}" />
  126. <Button Margin="2,0" Height="30" Width="60" Content="Load" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.LoadFoup}" common:CommandHelper.Target="{Binding Station}" />
  127. <Button Margin="0" Height="30" Width="60" Content="Unload" Command="{Binding DataContext.LoadPortCommand, ElementName=root}" common:CommandHelper.CommandName="{x:Static Common:OperationName.UnloadFoup}" common:CommandHelper.Target="{Binding Station}" />
  128. </StackPanel>
  129. </Grid>
  130. </controls:HeaderPanel>
  131. </DataTemplate>
  132. <DataTemplate x:Key="NoButton"/>
  133. </UserControl.Resources>
  134. <Grid x:Name="root">
  135. <ItemsControl ItemsSource="{Binding FoupList}">
  136. <ItemsControl.ItemsPanel>
  137. <ItemsPanelTemplate>
  138. <WrapPanel Orientation="Horizontal" MinWidth="200" Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}"/>
  139. </ItemsPanelTemplate>
  140. </ItemsControl.ItemsPanel>
  141. <ItemsControl.ItemTemplate>
  142. <DataTemplate>
  143. <Grid Width="188" Margin="4">
  144. <Grid.RowDefinitions>
  145. <RowDefinition Height="276" />
  146. <RowDefinition Height="auto" />
  147. </Grid.RowDefinitions>
  148. <controls:FoupItem Title="{Binding CarrierName}" SlotCount="{Binding SlotCount}" Slots="{Binding WaferInfos}" Station="{Binding Station}" CarrierMode="{Binding CarrierMode}" WaferTransferOptionCommand="{Binding DataContext.WaferTransferOptionCommand, ElementName=root}" WaferTransferCommand="{Binding DataContext.WaferTransferCommand, ElementName=root}" ></controls:FoupItem>
  149. <ContentControl Content="{Binding}" Grid.Column="1" Grid.Row="1">
  150. <ContentControl.Style>
  151. <Style TargetType="ContentControl">
  152. <Style.Triggers>
  153. <DataTrigger Binding="{Binding FoupType}" Value="SMIF">
  154. <Setter Property="ContentTemplate" Value="{StaticResource SMIF}" />
  155. </DataTrigger>
  156. <DataTrigger Binding="{Binding FoupType}" Value="SMIFNOMAP">
  157. <Setter Property="ContentTemplate" Value="{StaticResource SMIFNOMAP}" />
  158. </DataTrigger>
  159. <DataTrigger Binding="{Binding FoupType}" Value="Loadport">
  160. <Setter Property="ContentTemplate" Value="{StaticResource loadport}" />
  161. </DataTrigger>
  162. <DataTrigger Binding="{Binding FoupType}" Value="OpenCassette">
  163. <Setter Property="ContentTemplate" Value="{StaticResource opencassette}" />
  164. </DataTrigger>
  165. <DataTrigger Binding="{Binding FoupType}" Value="OpenCassetteNoReadID">
  166. <Setter Property="ContentTemplate" Value="{StaticResource opencassettenoreadid}" />
  167. </DataTrigger>
  168. <DataTrigger Binding="{Binding FoupType}" Value="NoButton">
  169. <Setter Property="ContentTemplate" Value="{StaticResource NoButton}" />
  170. </DataTrigger>
  171. <DataTrigger Binding="{Binding FoupType}" Value="Mapbuffer">
  172. <Setter Property="ContentTemplate" Value="{StaticResource mapbuffer}" />
  173. </DataTrigger>
  174. </Style.Triggers>
  175. </Style>
  176. </ContentControl.Style>
  177. </ContentControl>
  178. </Grid>
  179. </DataTemplate>
  180. </ItemsControl.ItemTemplate>
  181. </ItemsControl>
  182. </Grid>
  183. </UserControl>