ScheduledMaintenanceMonitorView.xaml 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. <UserControl
  2. x:Class="FurnaceUI.Views.Editors.ScheduledMaintenanceMonitorView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:cal="http://www.caliburn.org"
  6. xmlns:converter="clr-namespace:FurnaceUI.Converter"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  9. xmlns:local="clr-namespace:FurnaceUI.Views.Editors"
  10. xmlns:enumData="clr-namespace:MECF.Framework.Common.CommonData.EnumData;assembly=MECF.Framework.Common"
  11. xmlns:converterTime="clr-namespace:MECF.Framework.UI.Client.Converter;assembly=MECF.Framework.UI.Client"
  12. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  13. Width="1000"
  14. Height="780"
  15. Background="White"
  16. FontFamily="Segoe"
  17. FontSize="20"
  18. mc:Ignorable="d">
  19. <UserControl.Resources>
  20. <converterTime:SecondsToHourMinConverter x:Key="SecondsToHourMinConverter" />
  21. <converter:IsCheckShowStringConverter x:Key="isCheckShowStringConverter" />
  22. <Style BasedOn="{StaticResource ExOnlyVerticalScrollBar}" TargetType="ScrollBar" />
  23. </UserControl.Resources>
  24. <Grid>
  25. <Grid.RowDefinitions>
  26. <RowDefinition Height="Auto" />
  27. <RowDefinition Height="Auto" />
  28. <RowDefinition Height="Auto" />
  29. <RowDefinition Height="Auto" />
  30. <RowDefinition Height="*" />
  31. <RowDefinition Height="80" />
  32. </Grid.RowDefinitions>
  33. <StackPanel Margin="10,0,0,0" Orientation="Horizontal">
  34. <TextBlock
  35. Margin="5,0"
  36. VerticalAlignment="Center"
  37. FontSize="20"
  38. Text="Table No." />
  39. <TextBox
  40. Width="60"
  41. Height="40"
  42. HorizontalAlignment="Left"
  43. HorizontalContentAlignment="Center"
  44. FontSize="20"
  45. IsEnabled="False"
  46. Text="{Binding EditModel.Number}" />
  47. </StackPanel>
  48. <Canvas />
  49. <GroupBox
  50. Grid.Row="1"
  51. Margin="10,5,10,0"
  52. Padding="5,5,5,0"
  53. Header="Maintenance Item information">
  54. <Grid>
  55. <Grid.RowDefinitions>
  56. <RowDefinition Height="50" />
  57. <RowDefinition Height="50" />
  58. <RowDefinition Height="*" MinHeight="60" />
  59. </Grid.RowDefinitions>
  60. <Grid.ColumnDefinitions>
  61. <ColumnDefinition Width="240" />
  62. <ColumnDefinition />
  63. <ColumnDefinition Width="0.5*" />
  64. </Grid.ColumnDefinitions>
  65. <TextBlock
  66. Margin="5,0"
  67. HorizontalAlignment="Right"
  68. VerticalAlignment="Center"
  69. Text="Maintenance Name" />
  70. <TextBlock
  71. Grid.Row="1"
  72. Margin="5,0"
  73. HorizontalAlignment="Right"
  74. VerticalAlignment="Center"
  75. Text="Maintenance ltem" />
  76. <TextBox
  77. Grid.Column="1"
  78. Margin="2"
  79. FontSize="20"
  80. Text="{Binding EditModel.Display, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
  81. <TextBox
  82. Grid.Row="1"
  83. Grid.Column="1"
  84. Margin="2"
  85. FontSize="20"
  86. IsEnabled="False"
  87. Text="{Binding EditModel.Item}" />
  88. <GroupBox
  89. Grid.Row="2"
  90. Grid.Column="1"
  91. Grid.ColumnSpan="4"
  92. Header="Addition information">
  93. <StackPanel>
  94. <ContentControl>
  95. <ContentControl.Resources>
  96. <DataTemplate x:Key="EmptyDataTemplate" />
  97. <DataTemplate x:Key="CommonDataTemplate">
  98. <StackPanel Height="40" Orientation="Horizontal">
  99. <TextBlock
  100. MinWidth="110"
  101. Margin="5,0"
  102. VerticalAlignment="Center"
  103. Text="{Binding DataContext.EditModel.AdditionInformationName, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}" />
  104. <TextBox
  105. Grid.Column="1"
  106. Width="200"
  107. Margin="5,0"
  108. FontSize="20"
  109. Text="{Binding DataContext.EditModel.AdditionInformationDisplay, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}" />
  110. </StackPanel>
  111. </DataTemplate>
  112. <DataTemplate x:Key="ReactorGroupDataTemplate">
  113. <StackPanel Height="40" Orientation="Horizontal">
  114. <TextBlock
  115. MinWidth="110"
  116. Margin="5,0"
  117. HorizontalAlignment="Right"
  118. VerticalAlignment="Center"
  119. Text="{Binding DataContext.EditModel.AdditionInformationName, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}" />
  120. <TextBox
  121. Grid.Column="1"
  122. Width="200"
  123. Margin="5,0"
  124. FontSize="20"
  125. Text="{Binding DataContext.EditModel.AdditionInformationDisplay, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}" />
  126. <!--<Button Content="Step Group Registration" />-->
  127. </StackPanel>
  128. </DataTemplate>
  129. <DataTemplate x:Key="ReactorRecipeDataTemplate">
  130. <StackPanel Height="40" Orientation="Horizontal">
  131. <TextBlock MinWidth="110" Margin="5,0" HorizontalAlignment="Right" VerticalAlignment="Center" >
  132. <Run Text="{Binding DataContext.EditModel.AdditionInformationName, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"></Run> <Run>:</Run>
  133. </TextBlock>
  134. <Button Width="300" Content="{Binding DataContext.EditModel.AdditionInformationDisplay, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}">
  135. <i:Interaction.Triggers>
  136. <i:EventTrigger EventName="Click">
  137. <cal:ActionMessage MethodName="SelectProcessRecipe">
  138. <cal:Parameter Value="AdditionInformationDisplay"/>
  139. </cal:ActionMessage>
  140. </i:EventTrigger>
  141. </i:Interaction.Triggers>
  142. </Button>
  143. </StackPanel>
  144. </DataTemplate>
  145. <DataTemplate x:Key="ReactorStepRunDataTemplate">
  146. <StackPanel Height="40" Orientation="Horizontal">
  147. <TextBlock MinWidth="110" Margin="5,0" HorizontalAlignment="Right" VerticalAlignment="Center" >
  148. <Run Text="{Binding DataContext.EditModel.AdditionInformationName, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"></Run> <Run>:</Run>
  149. </TextBlock>
  150. <Button Width="120" >
  151. <Button.Content>
  152. <StackPanel Orientation="Horizontal">
  153. <TextBlock Text="{Binding DataContext.EditModel.AdditionInformationDisplay, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"></TextBlock>
  154. <TextBlock Text="{Binding DataContext.SelectStepIdName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"></TextBlock>
  155. </StackPanel>
  156. </Button.Content>
  157. <i:Interaction.Triggers>
  158. <i:EventTrigger EventName="Click">
  159. <cal:ActionMessage MethodName="SelectStepIDMethod">
  160. </cal:ActionMessage>
  161. </i:EventTrigger>
  162. </i:Interaction.Triggers>
  163. </Button>
  164. </StackPanel>
  165. </DataTemplate>
  166. <DataTemplate x:Key="ReactorStepThicknessDataTemplate">
  167. <StackPanel Height="40" Orientation="Horizontal">
  168. <TextBlock MinWidth="110" Margin="5,0" HorizontalAlignment="Right" VerticalAlignment="Center" >
  169. <Run Text="{Binding DataContext.EditModel.AdditionInformationName, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"></Run> <Run>:</Run>
  170. </TextBlock>
  171. <Button Width="120" Content="{Binding DataContext.EditModel.AdditionInformationDisplay, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}">
  172. <i:Interaction.Triggers>
  173. <i:EventTrigger EventName="Click">
  174. <cal:ActionMessage MethodName="SelectStepGroupMethod">
  175. </cal:ActionMessage>
  176. </i:EventTrigger>
  177. </i:Interaction.Triggers>
  178. </Button>
  179. </StackPanel>
  180. </DataTemplate>
  181. </ContentControl.Resources>
  182. <ContentControl.Style>
  183. <Style TargetType="ContentControl">
  184. <Style.Triggers>
  185. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.CarrierWafer}">
  186. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  187. </DataTrigger>
  188. <MultiDataTrigger>
  189. <MultiDataTrigger.Conditions>
  190. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}" />
  191. <Condition Binding="{Binding EditModel.ReactorsType}" Value="{x:Static enumData:ReactorsEnum.Recipe}" />
  192. </MultiDataTrigger.Conditions>
  193. <MultiDataTrigger.Setters>
  194. <Setter Property="ContentTemplate" Value="{StaticResource ReactorRecipeDataTemplate}" />
  195. </MultiDataTrigger.Setters>
  196. </MultiDataTrigger>
  197. <MultiDataTrigger>
  198. <MultiDataTrigger.Conditions>
  199. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}" />
  200. <Condition Binding="{Binding EditModel.ReactorsType}" Value="{x:Static enumData:ReactorsEnum.StepRunTime}" />
  201. </MultiDataTrigger.Conditions>
  202. <MultiDataTrigger.Setters>
  203. <Setter Property="ContentTemplate" Value="{StaticResource ReactorStepRunDataTemplate}" />
  204. </MultiDataTrigger.Setters>
  205. </MultiDataTrigger>
  206. <MultiDataTrigger>
  207. <MultiDataTrigger.Conditions>
  208. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}" />
  209. <Condition Binding="{Binding EditModel.ReactorsType}" Value="{x:Static enumData:ReactorsEnum.StepRunFreq}" />
  210. </MultiDataTrigger.Conditions>
  211. <MultiDataTrigger.Setters>
  212. <Setter Property="ContentTemplate" Value="{StaticResource ReactorStepRunDataTemplate}" />
  213. </MultiDataTrigger.Setters>
  214. </MultiDataTrigger>
  215. <MultiDataTrigger>
  216. <MultiDataTrigger.Conditions>
  217. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}" />
  218. <Condition Binding="{Binding EditModel.ReactorsType}" Value="{x:Static enumData:ReactorsEnum.StepThickness}" />
  219. </MultiDataTrigger.Conditions>
  220. <MultiDataTrigger.Setters>
  221. <Setter Property="ContentTemplate" Value="{StaticResource ReactorStepThicknessDataTemplate}" />
  222. </MultiDataTrigger.Setters>
  223. </MultiDataTrigger>
  224. </Style.Triggers>
  225. </Style>
  226. </ContentControl.Style>
  227. </ContentControl>
  228. </StackPanel>
  229. </GroupBox>
  230. </Grid>
  231. </GroupBox>
  232. <GroupBox
  233. Grid.Row="2"
  234. Margin="10,5,10,0"
  235. Padding="5,5,5,0"
  236. Header="Current Value information">
  237. <Grid>
  238. <Grid.RowDefinitions>
  239. <RowDefinition Height="40" />
  240. <RowDefinition />
  241. </Grid.RowDefinitions>
  242. <Grid.ColumnDefinitions>
  243. <ColumnDefinition Width="240" />
  244. <ColumnDefinition Width="200" />
  245. <ColumnDefinition Width="Auto" MinWidth="80" />
  246. <ColumnDefinition Width="*" />
  247. </Grid.ColumnDefinitions>
  248. <TextBlock
  249. Grid.Row="0"
  250. Margin="5,0"
  251. HorizontalAlignment="Right"
  252. VerticalAlignment="Center"
  253. Text="Current Value" />
  254. <StackPanel Grid.Column="1" Margin="5,0" IsEnabled="{Binding IsEnable}">
  255. <ContentControl>
  256. <ContentControl.Resources>
  257. <DataTemplate x:Key="EmptyDataTemplate" />
  258. <DataTemplate x:Key="CommonDataTemplate">
  259. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  260. Text="{Binding DataContext.EditModel.CurrentValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnable}" Tag="Number" >
  261. </TextBox>
  262. </DataTemplate>
  263. <DataTemplate x:Key="TimeDataTemplate">
  264. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  265. Text="{Binding DataContext.EditModel.CurrentValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}" IsEnabled="{Binding IsEnable}" Tag="None" >
  266. <i:Interaction.Triggers>
  267. <i:EventTrigger EventName="PreviewMouseUp">
  268. <cal:ActionMessage MethodName="TimeSelect">
  269. <cal:Parameter Value="StepTime"></cal:Parameter>
  270. <cal:Parameter Value="CurrentValue"></cal:Parameter>
  271. </cal:ActionMessage>
  272. </i:EventTrigger>
  273. </i:Interaction.Triggers>
  274. </TextBox>
  275. </DataTemplate>
  276. </ContentControl.Resources>
  277. <ContentControl.Style>
  278. <Style TargetType="ContentControl">
  279. <Style.Triggers>
  280. <MultiDataTrigger>
  281. <MultiDataTrigger.Conditions>
  282. <Condition Binding="{Binding EditModel.Unit}" Value="h:m:s" />
  283. </MultiDataTrigger.Conditions>
  284. <MultiDataTrigger.Setters>
  285. <Setter Property="ContentTemplate" Value="{StaticResource TimeDataTemplate}" />
  286. </MultiDataTrigger.Setters>
  287. </MultiDataTrigger>
  288. <MultiDataTrigger>
  289. <MultiDataTrigger.Conditions>
  290. <Condition Binding="{Binding EditModel.Unit}" Value="Å" />
  291. </MultiDataTrigger.Conditions>
  292. <MultiDataTrigger.Setters>
  293. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  294. </MultiDataTrigger.Setters>
  295. </MultiDataTrigger>
  296. <MultiDataTrigger>
  297. <MultiDataTrigger.Conditions>
  298. <Condition Binding="{Binding EditModel.Unit}" Value="Sheets" />
  299. </MultiDataTrigger.Conditions>
  300. <MultiDataTrigger.Setters>
  301. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  302. </MultiDataTrigger.Setters>
  303. </MultiDataTrigger>
  304. <MultiDataTrigger>
  305. <MultiDataTrigger.Conditions>
  306. <Condition Binding="{Binding EditModel.Unit}" Value="Times" />
  307. </MultiDataTrigger.Conditions>
  308. <MultiDataTrigger.Setters>
  309. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  310. </MultiDataTrigger.Setters>
  311. </MultiDataTrigger>
  312. </Style.Triggers>
  313. </Style>
  314. </ContentControl.Style>
  315. </ContentControl>
  316. </StackPanel>
  317. <TextBox
  318. Grid.Column="2"
  319. Height="40"
  320. Margin="5,0"
  321. HorizontalContentAlignment="Center"
  322. FontSize="20"
  323. IsEnabled="False"
  324. Text="{Binding EditModel.Unit}" />
  325. <StackPanel Grid.Column="3" Orientation="Horizontal">
  326. <Button
  327. Width="220"
  328. Content="Current Value Change"
  329. FontSize="20">
  330. <i:Interaction.Triggers>
  331. <i:EventTrigger EventName="Click">
  332. <cal:ActionMessage MethodName="CurrentValueChange" />
  333. </i:EventTrigger>
  334. </i:Interaction.Triggers>
  335. <!--<Button.Style>
  336. <Style BasedOn="{StaticResource ResourceKey={x:Type Button}}" TargetType="Button">
  337. <Style.Triggers>
  338. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.CarrierWafer}">
  339. <Setter Property="Visibility" Value="Collapsed" />
  340. </DataTrigger>
  341. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Boat}">
  342. <Setter Property="Visibility" Value="Visible" />
  343. </DataTrigger>
  344. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Conditioning}">
  345. <Setter Property="Visibility" Value="Visible" />
  346. </DataTrigger>
  347. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}">
  348. <Setter Property="Visibility" Value="Visible" />
  349. </DataTrigger>
  350. </Style.Triggers>
  351. </Style>
  352. </Button.Style>-->
  353. </Button>
  354. <Button
  355. Width="220"
  356. Margin="5,0,0,0"
  357. Content="Current Value Clear"
  358. FontSize="20">
  359. <i:Interaction.Triggers>
  360. <i:EventTrigger EventName="Click">
  361. <cal:ActionMessage MethodName="ClearCurrentValue" />
  362. </i:EventTrigger>
  363. </i:Interaction.Triggers>
  364. <!--<Button.Style>
  365. <Style BasedOn="{StaticResource ResourceKey={x:Type Button}}" TargetType="Button">
  366. <Style.Triggers>
  367. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.CarrierWafer}">
  368. <Setter Property="Visibility" Value="Collapsed" />
  369. </DataTrigger>
  370. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Boat}">
  371. <Setter Property="Visibility" Value="Visible" />
  372. </DataTrigger>
  373. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Conditioning}">
  374. <Setter Property="Visibility" Value="Visible" />
  375. </DataTrigger>
  376. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}">
  377. <Setter Property="Visibility" Value="Visible" />
  378. </DataTrigger>
  379. </Style.Triggers>
  380. </Style>
  381. </Button.Style>-->
  382. </Button>
  383. </StackPanel>
  384. <TextBlock
  385. Grid.Row="1"
  386. Grid.Column="3"
  387. Grid.ColumnSpan="4"
  388. Margin="0,0,0,-0.5"
  389. TextWrapping="WrapWithOverflow">
  390. <TextBlock.Style>
  391. <Style TargetType="TextBlock">
  392. <Style.Triggers>
  393. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.CarrierWafer}">
  394. <Setter Property="Text" Value="" />
  395. </DataTrigger>
  396. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Boat}">
  397. <Setter Property="Text" Value="As for the value diplay araa,the current value is displayed when the current value change button isPressed,but the monitor value is displayed when the value change button is not pressed." />
  398. </DataTrigger>
  399. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Conditioning}">
  400. <Setter Property="Text" Value="As for the value diplay araa,the current value is displayed when the current value change button isPressed,but the monitor value is displayed when the value change button is not pressed." />
  401. </DataTrigger>
  402. <DataTrigger Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}">
  403. <Setter Property="Text" Value="As for the value diplay araa,the current value is displayed when the current value change button isPressed,but the monitor value is displayed when the value change button is not pressed." />
  404. </DataTrigger>
  405. </Style.Triggers>
  406. </Style>
  407. </TextBlock.Style>
  408. </TextBlock>
  409. </Grid>
  410. </GroupBox>
  411. <GroupBox
  412. Grid.Row="3"
  413. Margin="10,5,10,0"
  414. Padding="5,5,5,0"
  415. Header="Scheduling Start Value information">
  416. <Grid>
  417. <Grid.RowDefinitions>
  418. <RowDefinition Height="Auto" />
  419. <RowDefinition Height="40" />
  420. <RowDefinition />
  421. <RowDefinition />
  422. </Grid.RowDefinitions>
  423. <Grid.ColumnDefinitions>
  424. <ColumnDefinition Width="240" />
  425. <ColumnDefinition Width="200" />
  426. <ColumnDefinition Width="Auto" MinWidth="80" />
  427. <ColumnDefinition />
  428. </Grid.ColumnDefinitions>
  429. <TextBlock
  430. Grid.Row="0"
  431. Margin="5,0"
  432. HorizontalAlignment="Right"
  433. VerticalAlignment="Center"
  434. Text="Scheduling Start Value" />
  435. <TextBlock
  436. Grid.Row="1"
  437. Margin="5,0"
  438. HorizontalAlignment="Right"
  439. VerticalAlignment="Center"
  440. Text="Maintenance Processing" />
  441. <!--<TextBox
  442. Grid.Row="0"
  443. Grid.Column="1"
  444. Height="40"
  445. Margin="5,0"
  446. FontSize="20"
  447. Tag="Number"
  448. Text="{Binding EditModel.StartValue, StringFormat={}{0:000.000}, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />-->
  449. <StackPanel Grid.Row="0" Grid.Column="1" Height="40" Margin="5,0">
  450. <ContentControl>
  451. <ContentControl.Resources>
  452. <DataTemplate x:Key="EmptyDataTemplate" />
  453. <DataTemplate x:Key="CommonDataTemplate">
  454. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  455. Text="{Binding DataContext.EditModel.StartValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnable}" Tag="Number" >
  456. </TextBox>
  457. </DataTemplate>
  458. <DataTemplate x:Key="TimeDataTemplate">
  459. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  460. Text="{Binding DataContext.EditModel.StartValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}" IsEnabled="{Binding IsEnable}" Tag="None" >
  461. <i:Interaction.Triggers>
  462. <i:EventTrigger EventName="PreviewMouseUp">
  463. <cal:ActionMessage MethodName="TimeSelect">
  464. <cal:Parameter Value="StepTime"></cal:Parameter>
  465. <cal:Parameter Value="CurrentValue"></cal:Parameter>
  466. </cal:ActionMessage>
  467. </i:EventTrigger>
  468. </i:Interaction.Triggers>
  469. </TextBox>
  470. </DataTemplate>
  471. </ContentControl.Resources>
  472. <ContentControl.Style>
  473. <Style TargetType="ContentControl">
  474. <Style.Triggers>
  475. <MultiDataTrigger>
  476. <MultiDataTrigger.Conditions>
  477. <Condition Binding="{Binding EditModel.Unit}" Value="h:m:s" />
  478. </MultiDataTrigger.Conditions>
  479. <MultiDataTrigger.Setters>
  480. <Setter Property="ContentTemplate" Value="{StaticResource TimeDataTemplate}" />
  481. </MultiDataTrigger.Setters>
  482. </MultiDataTrigger>
  483. <MultiDataTrigger>
  484. <MultiDataTrigger.Conditions>
  485. <Condition Binding="{Binding EditModel.Unit}" Value="Å" />
  486. </MultiDataTrigger.Conditions>
  487. <MultiDataTrigger.Setters>
  488. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  489. </MultiDataTrigger.Setters>
  490. </MultiDataTrigger>
  491. <MultiDataTrigger>
  492. <MultiDataTrigger.Conditions>
  493. <Condition Binding="{Binding EditModel.Unit}" Value="Sheets" />
  494. </MultiDataTrigger.Conditions>
  495. <MultiDataTrigger.Setters>
  496. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  497. </MultiDataTrigger.Setters>
  498. </MultiDataTrigger>
  499. <MultiDataTrigger>
  500. <MultiDataTrigger.Conditions>
  501. <Condition Binding="{Binding EditModel.Unit}" Value="Times" />
  502. </MultiDataTrigger.Conditions>
  503. <MultiDataTrigger.Setters>
  504. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  505. </MultiDataTrigger.Setters>
  506. </MultiDataTrigger>
  507. </Style.Triggers>
  508. </Style>
  509. </ContentControl.Style>
  510. </ContentControl>
  511. </StackPanel>
  512. <ComboBox x:Name="cbPickModulesCassetteRobot" Grid.Row="1"
  513. Grid.Column="1"
  514. Height="40"
  515. Margin="5,0"
  516. FontSize="20" ItemsSource="{Binding MaintenanceProcessingList}" SelectedItem="{Binding EditModel.MaintenanceProcessing, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
  517. <Button Grid.Row="1" Grid.Column="2" Visibility="{Binding JobAutoStartCommandVisibility,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource bool2VisibilityConverter}}" Grid.ColumnSpan="2" Width="auto" Content="{Binding EditModel.AssociationProcessRecipeName,UpdateSourceTrigger=PropertyChanged}">
  518. <i:Interaction.Triggers>
  519. <i:EventTrigger EventName="Click">
  520. <cal:ActionMessage MethodName="SelectProcessRecipe">
  521. <cal:Parameter Value="AssociationProcessRecipeName"/>
  522. </cal:ActionMessage>
  523. </i:EventTrigger>
  524. </i:Interaction.Triggers>
  525. </Button>
  526. <!--<TextBox
  527. Grid.Row="1"
  528. Grid.Column="1"
  529. Height="40"
  530. Margin="5,0"
  531. FontSize="20"
  532. Text="{Binding EditModel.MaintenanceProcessing, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />-->
  533. <TextBox
  534. Grid.Row="0"
  535. Grid.Column="2"
  536. Height="40"
  537. Margin="5,0"
  538. HorizontalContentAlignment="Center"
  539. FontSize="20"
  540. IsEnabled="False"
  541. Text="{Binding EditModel.Unit}" />
  542. <TextBlock
  543. Grid.Row="0"
  544. Grid.Column="3"
  545. VerticalAlignment="Center"
  546. Text="Scheduling the maintence process is begun on this beginning value arrival,please set the value in which this margin is given to limit value."
  547. TextWrapping="WrapWithOverflow" />
  548. </Grid>
  549. </GroupBox>
  550. <GroupBox
  551. Grid.Row="4"
  552. Margin="10,5,10,0"
  553. Padding="5,5,5,0"
  554. Header="Maintenance Limit Value information">
  555. <Grid>
  556. <Grid.ColumnDefinitions>
  557. <ColumnDefinition Width="240" />
  558. <ColumnDefinition Width="200" />
  559. <ColumnDefinition Width="Auto" MinWidth="80" />
  560. <ColumnDefinition />
  561. </Grid.ColumnDefinitions>
  562. <TextBlock
  563. Margin="5,0"
  564. HorizontalAlignment="Right"
  565. VerticalAlignment="Center"
  566. Text="Maintenance Limit Value" />
  567. <!--<TextBox
  568. Grid.Column="1"
  569. Height="40"
  570. Margin="5,0"
  571. FontSize="20"
  572. Tag="Number"
  573. Text="{Binding EditModel.LimitValue, StringFormat={}{0:000.000}, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />-->
  574. <StackPanel Grid.Row="0" Grid.Column="1" Height="40" Margin="5,0">
  575. <ContentControl>
  576. <ContentControl.Resources>
  577. <DataTemplate x:Key="EmptyDataTemplate" />
  578. <DataTemplate x:Key="CommonDataTemplate">
  579. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  580. Text="{Binding DataContext.EditModel.LimitValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnable}" Tag="Number" >
  581. </TextBox>
  582. </DataTemplate>
  583. <DataTemplate x:Key="TimeDataTemplate">
  584. <TextBox Grid.Column="1" Margin="5,0" FontSize="20" Height="40"
  585. Text="{Binding DataContext.EditModel.LimitValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}, UpdateSourceTrigger=PropertyChanged,Converter={StaticResource SecondsToHourMinConverter}}" IsEnabled="{Binding IsEnable}" Tag="None" >
  586. <i:Interaction.Triggers>
  587. <i:EventTrigger EventName="PreviewMouseUp">
  588. <cal:ActionMessage MethodName="TimeSelect">
  589. <cal:Parameter Value="StepTime"></cal:Parameter>
  590. <cal:Parameter Value="CurrentValue"></cal:Parameter>
  591. </cal:ActionMessage>
  592. </i:EventTrigger>
  593. </i:Interaction.Triggers>
  594. </TextBox>
  595. </DataTemplate>
  596. </ContentControl.Resources>
  597. <ContentControl.Style>
  598. <Style TargetType="ContentControl">
  599. <Style.Triggers>
  600. <MultiDataTrigger>
  601. <MultiDataTrigger.Conditions>
  602. <Condition Binding="{Binding EditModel.Unit}" Value="h:m:s" />
  603. </MultiDataTrigger.Conditions>
  604. <MultiDataTrigger.Setters>
  605. <Setter Property="ContentTemplate" Value="{StaticResource TimeDataTemplate}" />
  606. </MultiDataTrigger.Setters>
  607. </MultiDataTrigger>
  608. <MultiDataTrigger>
  609. <MultiDataTrigger.Conditions>
  610. <Condition Binding="{Binding EditModel.Unit}" Value="Å" />
  611. </MultiDataTrigger.Conditions>
  612. <MultiDataTrigger.Setters>
  613. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  614. </MultiDataTrigger.Setters>
  615. </MultiDataTrigger>
  616. <MultiDataTrigger>
  617. <MultiDataTrigger.Conditions>
  618. <Condition Binding="{Binding EditModel.Unit}" Value="Sheets" />
  619. </MultiDataTrigger.Conditions>
  620. <MultiDataTrigger.Setters>
  621. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  622. </MultiDataTrigger.Setters>
  623. </MultiDataTrigger>
  624. <MultiDataTrigger>
  625. <MultiDataTrigger.Conditions>
  626. <Condition Binding="{Binding EditModel.Unit}" Value="Times" />
  627. </MultiDataTrigger.Conditions>
  628. <MultiDataTrigger.Setters>
  629. <Setter Property="ContentTemplate" Value="{StaticResource CommonDataTemplate}" />
  630. </MultiDataTrigger.Setters>
  631. </MultiDataTrigger>
  632. </Style.Triggers>
  633. </Style>
  634. </ContentControl.Style>
  635. </ContentControl>
  636. </StackPanel>
  637. <TextBox
  638. Grid.Column="2"
  639. Height="40"
  640. Margin="5,0"
  641. HorizontalContentAlignment="Center"
  642. VerticalContentAlignment="Center"
  643. FontSize="20"
  644. IsEnabled="False"
  645. Text="{Binding EditModel.Unit}" />
  646. <TextBlock
  647. Grid.Column="3"
  648. VerticalAlignment="Center"
  649. TextWrapping="WrapWithOverflow">
  650. <TextBlock.Style>
  651. <Style TargetType="TextBlock">
  652. <Style.Triggers>
  653. <MultiDataTrigger>
  654. <MultiDataTrigger.Conditions>
  655. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.CarrierWafer}" />
  656. </MultiDataTrigger.Conditions>
  657. <MultiDataTrigger.Setters>
  658. <Setter Property="Text" Value="The processing of wafer is completed by this limit value arrival." />
  659. </MultiDataTrigger.Setters>
  660. </MultiDataTrigger>
  661. <MultiDataTrigger>
  662. <MultiDataTrigger.Conditions>
  663. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Boat}" />
  664. </MultiDataTrigger.Conditions>
  665. <MultiDataTrigger.Setters>
  666. <Setter Property="Text" Value="Dummy Wafer on the boat is collected to the source carrier when current value reaches the limit value." />
  667. </MultiDataTrigger.Setters>
  668. </MultiDataTrigger>
  669. <MultiDataTrigger>
  670. <MultiDataTrigger.Conditions>
  671. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Conditioning}" />
  672. </MultiDataTrigger.Conditions>
  673. <MultiDataTrigger.Setters>
  674. <Setter Property="Text" Value="Alarm is reported by this limit value arrival." />
  675. </MultiDataTrigger.Setters>
  676. </MultiDataTrigger>
  677. <MultiDataTrigger>
  678. <MultiDataTrigger.Conditions>
  679. <Condition Binding="{Binding EditModel.DataItemType}" Value="{x:Static enumData:DataItemEnum.Reactor}" />
  680. </MultiDataTrigger.Conditions>
  681. <MultiDataTrigger.Setters>
  682. <Setter Property="Text" Value="A new job started by this limit value arrival." />
  683. </MultiDataTrigger.Setters>
  684. </MultiDataTrigger>
  685. </Style.Triggers>
  686. </Style>
  687. </TextBlock.Style>
  688. </TextBlock>
  689. </Grid>
  690. </GroupBox>
  691. <Border Grid.Row="5">
  692. <Grid>
  693. <Canvas>
  694. <Button
  695. Canvas.Left="706"
  696. Canvas.Top="19"
  697. Width="130"
  698. Height="45"
  699. Content="Save"
  700. Style="{StaticResource CommandButton}">
  701. <i:Interaction.Triggers>
  702. <i:EventTrigger EventName="Click">
  703. <cal:ActionMessage MethodName="SetSave" />
  704. </i:EventTrigger>
  705. </i:Interaction.Triggers>
  706. </Button>
  707. <Button
  708. Canvas.Left="856"
  709. Canvas.Top="19"
  710. Width="130"
  711. Height="45"
  712. Content="Cancel"
  713. Style="{StaticResource CommandButton}">
  714. <i:Interaction.Triggers>
  715. <i:EventTrigger EventName="Click">
  716. <cal:ActionMessage MethodName="SetCancel" />
  717. </i:EventTrigger>
  718. </i:Interaction.Triggers>
  719. </Button>
  720. </Canvas>
  721. </Grid>
  722. </Border>
  723. </Grid>
  724. </UserControl>