DqdrRecipeView.xaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <UserControl x:Class="PunkHPX8_MainPages.Views.DqdrRecipeView"
  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:PunkHPX8_MainPages.Views"
  7. xmlns:prism="http://prismlibrary.com/"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:converters="clr-namespace:PunkHPX8_MainPages.Converters"
  10. xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core"
  11. xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"
  12. xmlns:UserControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"
  13. prism:ViewModelLocator.AutoWireViewModel="True"
  14. mc:Ignorable="d"
  15. d:DesignHeight="800" d:DesignWidth="1800" Loaded="UserControl_Loaded">
  16. <UserControl.Resources>
  17. <converters:BoolReverseConverter x:Key="boolReverseConverter"/>
  18. <converters:BoolVisibilityConverter x:Key="boolVisibilityConverter"/>
  19. </UserControl.Resources>
  20. <Grid>
  21. <Grid.RowDefinitions>
  22. <RowDefinition Height="100"></RowDefinition>
  23. <RowDefinition Height="145"></RowDefinition>
  24. <RowDefinition Height="100"></RowDefinition>
  25. <RowDefinition/>
  26. </Grid.RowDefinitions>
  27. <Grid.ColumnDefinitions>
  28. <ColumnDefinition Width="50"></ColumnDefinition>
  29. <ColumnDefinition Width="400"></ColumnDefinition>
  30. <ColumnDefinition Width="700"></ColumnDefinition>
  31. <ColumnDefinition Width="700"></ColumnDefinition>
  32. <ColumnDefinition/>
  33. </Grid.ColumnDefinitions>
  34. <UserControls:RecipeFileLoadControl Grid.Row="0" Grid.RowSpan="4" Grid.Column="1" Title="Dqdr Recipe" RecipeNodes="{Binding RecipeNodes}" OperationCommand="{Binding OperationCommand}"
  35. RecipeLocation="{Binding CurrentNode.RecipeLocation}" EditEnable="{Binding EditEnable}" CreateEnable="{Binding CreateEnable}" RecipeFileName="{Binding CurrentNode.FileName}"
  36. CreateCommand="{Binding CreateCommand}" EditCommand="{Binding EditCommand}"/>
  37. <Grid Grid.Row="0" Grid.Column="2" Grid.RowSpan="2">
  38. <Grid.RowDefinitions>
  39. <RowDefinition Height="70"></RowDefinition>
  40. <RowDefinition Height="70"></RowDefinition>
  41. <RowDefinition/>
  42. </Grid.RowDefinitions>
  43. <GroupBox Header="PPID" Grid.Row="0">
  44. <TextBlock Text="{Binding Recipe.Ppid}" FontSize="20" VerticalAlignment="Center" TextAlignment="Center">
  45. </TextBlock>
  46. </GroupBox>
  47. <GroupBox Header="Description" Grid.Row="1">
  48. <TextBlock Text="{Binding Recipe.Description}" FontSize="18" VerticalAlignment="Center" TextAlignment="Center">
  49. </TextBlock>
  50. </GroupBox>
  51. </Grid>
  52. <GroupBox Header="Author" Grid.Row="1" Grid.Column="2" Width="180" Margin="-500,60,10,20">
  53. <Label Content="{Binding Recipe.Author}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  54. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  55. </GroupBox>
  56. <GroupBox Header="Creation Date" Grid.Row="1" Grid.Column="2" Width="180" Margin="-120,60,10,20">
  57. <Label Content="{Binding Recipe.CreateDate}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  58. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  59. </GroupBox>
  60. <GroupBox Header="Save Date" Grid.Row="1" Grid.Column="2" Width="180" Margin="260,60,10,20">
  61. <Label Content="{Binding Recipe.SaveDate}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  62. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  63. </GroupBox>
  64. <GroupBox Header="Plating Cell" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Width="180" Margin="-60,60,10,20" >
  65. <ComboBox Height="30" Margin="10,0,10,0" ItemsSource="{Binding PlatingCellList}" SelectedItem="{Binding Recipe.PlatingCell, Mode=TwoWay}">
  66. </ComboBox>
  67. </GroupBox>
  68. <Grid Grid.Row="0" Grid.Column="3" Grid.RowSpan="2">
  69. <Grid.RowDefinitions>
  70. <RowDefinition Height="70"></RowDefinition>
  71. <RowDefinition Height="70"></RowDefinition>
  72. <RowDefinition/>
  73. <RowDefinition Height="70"></RowDefinition>
  74. </Grid.RowDefinitions>
  75. <Grid Grid.Row="0">
  76. <Grid.ColumnDefinitions>
  77. <ColumnDefinition/>
  78. <ColumnDefinition/>
  79. <ColumnDefinition/>
  80. </Grid.ColumnDefinitions>
  81. <Button Grid.Column="0" IsEnabled="{Binding Enable}" Style="{StaticResource SysBtnStyle}" Content="Save" Height="35" Width="100" Command="{Binding SaveRecipeCommand}"></Button>
  82. <Button Grid.Column="1" Style="{StaticResource SysBtnStyle}" Content="SaveAs" Height="35" Width="100" Command="{Binding SaveAsRecipeCommand}"></Button>
  83. </Grid>
  84. </Grid>
  85. <GroupBox Header="Link To Plating Cell Dep Recipe" IsEnabled="{Binding Enable}" Grid.Row="2" Grid.Column="2" Width="600" Margin="0,0,120,0" >
  86. <ComboBox Height="30" Margin="10,0,10,0" ItemsSource="{Binding DepRecipeNameList}" SelectedItem="{Binding Recipe.LinkedDepRecipeName, Mode=TwoWay}">
  87. <i:Interaction.Triggers>
  88. <i:EventTrigger EventName="SelectionChanged">
  89. <i:InvokeCommandAction Command="{Binding LinkedDepRecipeChangeCommand}"/>
  90. </i:EventTrigger>
  91. </i:Interaction.Triggers>
  92. </ComboBox>
  93. </GroupBox>
  94. <GroupBox Header="Time Check" Grid.Row="2" Grid.Column="3" Width="200" Margin="0,10,450,10">
  95. <Label Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Background="White"
  96. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0" FontSize="16">
  97. <Label.Style>
  98. <Style TargetType="Label">
  99. <Setter Property="Content" Value="Different" />
  100. <Setter Property="Foreground" Value="Red"/>
  101. <Style.Triggers>
  102. <DataTrigger Binding="{Binding Recipe.IsIdentical}" Value="True">
  103. <Setter Property="Content" Value="Identical"/>
  104. <Setter Property="Foreground" Value="LimeGreen"/>
  105. </DataTrigger>
  106. </Style.Triggers>
  107. </Style>
  108. </Label.Style>
  109. </Label>
  110. </GroupBox>
  111. <Grid Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="2">
  112. <Grid>
  113. <Grid Grid.Row="0">
  114. <Grid.ColumnDefinitions>
  115. <ColumnDefinition Width="1300"></ColumnDefinition>
  116. <ColumnDefinition/>
  117. </Grid.ColumnDefinitions>
  118. <Grid>
  119. <Grid.ColumnDefinitions>
  120. <ColumnDefinition Width="300"></ColumnDefinition>
  121. <ColumnDefinition Width="300"></ColumnDefinition>
  122. <ColumnDefinition Width="300"></ColumnDefinition>
  123. <ColumnDefinition Width="300"></ColumnDefinition>
  124. </Grid.ColumnDefinitions>
  125. <GroupBox Header="Reclaim" Grid.Column="0" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  126. <Grid>
  127. <Grid.RowDefinitions>
  128. <RowDefinition Height="120"></RowDefinition>
  129. <RowDefinition Height="120"></RowDefinition>
  130. <RowDefinition/>
  131. </Grid.RowDefinitions>
  132. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  133. IntValue="{Binding Recipe.ReclaimSpeed,Mode=TwoWay}"
  134. ValidResult="{Binding PropertyValidResultDic[ReclaimSpeed],Mode=TwoWay}"/>
  135. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  136. IntValue="{Binding Recipe.ReclaimTime,Mode=TwoWay}"
  137. ValidResult="{Binding PropertyValidResultDic[ReclaimTime],Mode=TwoWay}"/>
  138. </Grid>
  139. </GroupBox>
  140. <GroupBox Header="Rinse" Grid.Column="1" Margin="10,10,0,10" HorizontalAlignment="Left" Width="280">
  141. <Grid>
  142. <Grid.RowDefinitions>
  143. <RowDefinition Height="120"></RowDefinition>
  144. <RowDefinition Height="120"></RowDefinition>
  145. <RowDefinition/>
  146. </Grid.RowDefinitions>
  147. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  148. IntValue="{Binding Recipe.RinseSpeed,Mode=TwoWay}"
  149. ValidResult="{Binding PropertyValidResultDic[RinseSpeed],Mode=TwoWay}"/>
  150. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  151. IntValue="{Binding Recipe.RinseTime,Mode=TwoWay}"
  152. ValidResult="{Binding PropertyValidResultDic[RinseTime],Mode=TwoWay}"/>
  153. </Grid>
  154. </GroupBox>
  155. <GroupBox Header="Dry" Grid.Column="2" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  156. <Grid>
  157. <Grid.RowDefinitions>
  158. <RowDefinition Height="120"></RowDefinition>
  159. <RowDefinition Height="120"></RowDefinition>
  160. <RowDefinition/>
  161. </Grid.RowDefinitions>
  162. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  163. IntValue="{Binding Recipe.DrySpeed,Mode=TwoWay}"
  164. ValidResult="{Binding PropertyValidResultDic[DrySpeed],Mode=TwoWay}"/>
  165. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  166. IntValue="{Binding Recipe.DryTime,Mode=TwoWay}"
  167. ValidResult="{Binding PropertyValidResultDic[DryTime],Mode=TwoWay}"/>
  168. </Grid>
  169. </GroupBox>
  170. <GroupBox Header="Interval Rinse" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  171. <Grid>
  172. <Grid.RowDefinitions>
  173. <RowDefinition Height="120"></RowDefinition>
  174. <RowDefinition Height="120"></RowDefinition>
  175. <RowDefinition Height="120"></RowDefinition>
  176. <RowDefinition/>
  177. </Grid.RowDefinitions>
  178. <GroupBox Grid.Row="0" IsEnabled="{Binding Enable}" Margin="10,10,10,10" Header="Rinse Before Entry">
  179. <Grid>
  180. <RadioButton Content="Enable" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
  181. Command="{Binding AutoCurrentBasedFalseCommand}" IsChecked="{Binding Recipe.RinseBeforeEntryEnable ,Mode=TwoWay}" Margin="18,-1,0,-6" ></RadioButton>
  182. <RadioButton Content="Disable" Height="30" Width="65" VerticalContentAlignment="Center" HorizontalAlignment="Center"
  183. Command="{Binding AutoCurrentBasedTrueCommand}" IsChecked="{Binding Recipe.RinseBeforeEntryEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="60,-1,0,-6" ></RadioButton>
  184. </Grid>
  185. </GroupBox>
  186. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  187. IntValue="{Binding Recipe.IntervalRinseSpeed,Mode=TwoWay}"
  188. ValidResult="{Binding PropertyValidResultDic[IntervalRinseSpeed],Mode=TwoWay}"/>
  189. <UserControls:GroupTextBoxControl Grid.Row="2" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  190. IntValue="{Binding Recipe.IntervalRinseTime,Mode=TwoWay}"
  191. ValidResult="{Binding PropertyValidResultDic[IntervalRinseTime],Mode=TwoWay}"/>
  192. </Grid>
  193. </GroupBox>
  194. </Grid>
  195. </Grid>
  196. </Grid>
  197. </Grid>
  198. </Grid>
  199. </UserControl>