Sic.Framework-Nanjing-Baishi/MECF.Framework.UI.Client/CenterViews/Modules/PM/PMProcessView.xaml

2147 lines
105 KiB
XML

<UserControl
x:Class="MECF.Framework.UI.Client.CenterViews.Modules.PM.PMProcessView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
xmlns:controls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Controls"
xmlns:cv="clr-namespace:MECF.Framework.UI.Core.Converters;assembly=MECF.Framework.UI.Core"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dgExtension1="clr-namespace:MECF.Framework.UI.Client.RecipeEditorLib.DGExtension"
xmlns:forms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:micro="clr-namespace:Caliburn.Micro"
xmlns:userControls1="clr-namespace:Sicentury.Core.UserControls;assembly=Sicentury.Core"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
d:Background="#91b0cd"
d:DesignHeight="750"
d:DesignWidth="1920"
mc:Ignorable="d">
<UserControl.Resources>
<cv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">
<StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}">
<Image
x:Name="ExpandImage"
Width="14"
Height="12"
Margin="2,0,0,0"
VerticalAlignment="Center"
Source="/Resources/Images/Folder_Close.png" />
<TextBlock
Margin="5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding Name}" />
<StackPanel.ContextMenu>
<ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
<Label
Margin="0"
Content="{Binding CurrentFileNode.FullPath}"
FontWeight="Black" />
<Separator />
<MenuItem
Command="{Binding NewRecipeCommand}"
Header="New Recipe"
IsEnabled="{Binding IsPermission}" />
<MenuItem
Command="{Binding DeleteRecipeCommand}"
Header="Delete Recipe"
IsEnabled="False" />
<MenuItem
Command="{Binding RenameRecipeCommand}"
Header="Rename Recipe"
IsEnabled="False" />
<MenuItem
Command="{Binding SaveAsRecipeCommand}"
Header="Save As Recipe"
IsEnabled="False" />
<Separator />
<MenuItem Command="{Binding NewFolderCommand}" Header="New Folder" />
<MenuItem Command="{Binding DeleteFolderCommand}" Header="Delete Folder" />
<MenuItem Command="{Binding RenameFolderCommand}" Header="Rename Folder" />
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="ExpandImage" Property="Image.Source" Value="/Resources/Images/Folder_Unable.png" />
</Trigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">
<StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}">
<Path
Width="13"
Height="16"
HorizontalAlignment="Left"
Data="M0.5,5.125 L5.125,5.125 5.125,0.5 M5.1,0.5 L15.5,0.5 15.5,19.5 0.5,19.5 C0.5,14.7 0.5,10 0.5,5.1 2,3.6 3.6,2 5.1,0.5 z M8.1,8.5 L8.2,8.5 z M8.1,11.5 L8.2,11.5 z M8.1,14.5 L8.2,14.5 z"
Fill="#FFF3F3F3"
Stretch="Fill"
Stroke="#FF454545" />
<TextBlock
Margin="5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding Name}" />
<StackPanel.ContextMenu>
<ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
<Label
Margin="0"
Content="{Binding CurrentFileNode.FullPath}"
FontWeight="Black" />
<Separator />
<MenuItem
Command="{Binding NewRecipeCommand}"
Header="New Recipe"
IsEnabled="{Binding IsPermission}" />
<MenuItem
Command="{Binding DeleteRecipeCommand}"
Header="Delete Recipe"
IsEnabled="{Binding IsPermission}" />
<MenuItem
Command="{Binding RenameRecipeCommand}"
Header="Rename Recipe"
IsEnabled="{Binding IsPermission}" />
<MenuItem
Command="{Binding SaveAsRecipeCommand}"
Header="Save As Recipe"
IsEnabled="{Binding IsPermission}" />
<Separator />
<MenuItem Command="{Binding NewFolderCommand}" Header="New Folder" />
<MenuItem
Command="{Binding DeleteFolderCommand}"
Header="Delete Folder"
IsEnabled="False" />
<MenuItem
Command="{Binding RenameFolderCommand}"
Header="Rename Folder"
IsEnabled="False" />
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid Margin="0,2,0,-2">
<Canvas>
<Canvas
Canvas.Left="-30"
Canvas.Top="50"
Width="730"
HorizontalAlignment="Left"
VerticalAlignment="Top"
IsEnabled="{Binding IsEnableGasMap}">
<Canvas
x:Name="腔体"
Canvas.Left="198"
Canvas.Top="50"
Width="350"
Height="269">
<Rectangle
Canvas.Top="100"
Width="360"
Height="310"
Stroke="#FF747474">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0.757,0" EndPoint="0.243,1">
<GradientStop Offset="0" Color="#FFE0DEDE" />
<GradientStop Offset="1" Color="#FFE2E2E2" />
<GradientStop Offset="0.55" Color="#FEFFFFFF" />
<GradientStop Offset="0.75" Color="#FFEFEFEF" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Image
Canvas.Left="-19"
Canvas.Top="70"
Width="400"
Height="374"
Source="/Resources/Images/chamber.png"
Stretch="Fill"
StretchDirection="Both" />
<Rectangle
Canvas.Left="26"
Canvas.Top="112"
Width="320"
Height="283"
Stroke="Black"
StrokeThickness="2">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
<GradientStop Offset="0" Color="#FFABABAB" />
<GradientStop Offset="1" Color="#FFDADADA" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Image
Canvas.Left="63"
Canvas.Top="120"
Width="250"
Source="/Resources/Images/showerhead.png" />
<!--<Canvas x:Name="ChuckPin">
<Canvas Canvas.Top="{Binding TrayPos}" ToolTip="Chuck">
<Canvas.ContextMenu>
<ContextMenu>
-->
<!-- <MenuItem Header="Go Process Pos" IsEnabled="{Binding IsChuckProcessPos, Converter={StaticResource InverseBoolConverter}}" cal:Message.Attach="[Event Click] = [Action ServoMove('Servo1', 'Process')]"/>
<MenuItem Header="Go Home Pos" IsEnabled="{Binding IsChuckHomePos, Converter={StaticResource InverseBoolConverter}}" cal:Message.Attach="[Event Click] = [Action ServoMove('Servo1', 'Home')]"/>
<MenuItem Header="Go Transfer Pos" IsEnabled="{Binding IsChuckTransferPos, Converter={StaticResource InverseBoolConverter}}" cal:Message.Attach="[Event Click] = [Action ServoMove('Servo1', 'Trans')]"/>
-->
<!--
</ContextMenu>
</Canvas.ContextMenu>
<controls:Tray IsEnabled="False" Canvas.Left="60" Canvas.Top="125" />
<TextBlock Text="{Binding ChuckCurrentPos, StringFormat=0.00}" Canvas.Top="5" Canvas.Left="131" Width="110" TextAlignment="Center"/>
</Canvas>
<Canvas Canvas.Top="{Binding CylinderPos}" ToolTip="Pin">
-->
<!-- <Canvas.ContextMenu>
<ContextMenu Visibility="{Binding ManualLL_IsVisible, Converter={StaticResource bool2VisibilityConvert}}">
<MenuItem Header="Pin Up" cal:Message.Attach="[Event Click] = [Action PinUp('True')]" />
<MenuItem Header="Pin Down" cal:Message.Attach="[Event Click] = [Action PinUp('False')]"/>
</ContextMenu>
</Canvas.ContextMenu>-->
<!-- <controls:Cylinder Canvas.Left="150"/>
<controls:Cylinder Canvas.Left="204"/>-->
<!--
</Canvas>
<Canvas Canvas.Top="{Binding CylinderPos}" ToolTip="Pin">
<ctrl:Slot Canvas.Left="140" Canvas.Top="-12" HasWafer="True"
WaferStatus="{Binding PMWafer.WaferStatus}" SlotID="{Binding PMWafer.SlotID}" ModuleID="{Binding PMWafer.ModuleID}" />
<Canvas.ContextMenu>
<ContextMenu>
-->
<!-- <MenuItem Header="Create Wafer" cal:Message.Attach="[Event Click] = [Action CreateWafer('PM', 'True')]" IsEnabled="{Binding PMHasWafer, Converter={StaticResource InverseBoolConverter}}"/>-->
<!--
<MenuItem Header="Delete Wafer" cal:Message.Attach="[Event Click] = [Action CreateWafer('PM', 'False')]" IsEnabled="{Binding PMHasWafer}"/>
</ContextMenu>
</Canvas.ContextMenu>
</Canvas>
</Canvas>-->
<!--<deviceControl:AITSensor DeviceData="{Binding ProcessPos}" GreenColor="True" LightOnValue="{Binding IsChuckProcessPos}" Canvas.Left="310" Canvas.Top="160"/>
<deviceControl:AITSensor DeviceData="{Binding HomePos}" GreenColor="True" LightOnValue="{Binding IsChuckHomePos}" Canvas.Left="310" Canvas.Top="190"/>
<deviceControl:AITSensor DeviceData="{Binding TransferPos}" GreenColor="True" LightOnValue="{Binding IsChuckTransferPos}" Canvas.Left="310" Canvas.Top="220"/>-->
<Grid
x:Name="Cover"
Canvas.Left="82"
Canvas.Top="80"
Width="315"
Height="18"
HorizontalAlignment="Center"
VerticalAlignment="Top"
RenderTransformOrigin="1,0.4444">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</Grid.RenderTransform>
<Grid.Resources>
<Storyboard x:Key="CoverOpen">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
<EasingDoubleKeyFrame KeyTime="0" Value="0" />
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="5" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="CoverClose">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
<EasingDoubleKeyFrame KeyTime="0" Value="5" />
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Grid.Resources>
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ChamberLidSwitch.Value}" Value="false">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource CoverOpen}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource CoverClose}" />
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<!--<Rectangle Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="{DynamicResource Lid_BG}" Stroke="{DynamicResource Lid_BD}" Width="429" Height="8" Margin="-74,0,-40,0"/>-->
</Grid>
<Canvas
x:Name="加热器"
Canvas.Left="-120"
Canvas.Top="40"
Width="576"
Height="364">
<StackPanel
Canvas.Left="210"
Canvas.Top="100"
Orientation="Horizontal">
<Label
Margin="0"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Inner"
FontFamily="Verdana"
FontSize="10"
Foreground="Black"
Visibility="Collapsed" />
<Label
Margin="0,0,0,0"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Outer"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Label
Margin="120,0,0,0"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Middle"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
</StackPanel>
<StackPanel
Canvas.Left="160"
Canvas.Top="120"
Orientation="Horizontal">
<Label
Margin="0,-1,3,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="PV"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1"
Visibility="Collapsed">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L1InputTemp}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Inner Pyro PV Temp" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L3InputTemp}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Outer Pyro PV Temp" />
</Grid>
<Grid
Width="80"
Height="25"
Margin="80,0,0,0"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L2InputTemp}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Middle Pyro PV Temp" />
</Grid>
</StackPanel>
<StackPanel
Canvas.Left="164"
Canvas.Top="145"
Orientation="Horizontal">
<Label
Margin="-3,-1,2,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="SP"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1"
Visibility="Collapsed">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L1TargetSP}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Inner Pyro SP Temp" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="17*" />
</Grid.ColumnDefinitions>
<Border
Grid.ColumnSpan="2"
Background="Transparent"
BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Grid.ColumnSpan="2"
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L3TargetSP}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Outer Pyro SP Temp" />
</Grid>
<Grid
Width="80"
Height="25"
Margin="80,0,0,0"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding L2TargetSP}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Middle Pyro SP Temp" />
</Grid>
</StackPanel>
<StackPanel Canvas.Left="170" Canvas.Top="175">
<Grid
Width="64"
Height="25"
Margin="-1,2"
Cursor="Hand">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-2,-2,-2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding TC2Mode}"
FontFamily="Verdana"
Foreground="Cyan"
ToolTip="SCR Power/Pyro Mode" />
</Grid>
<Grid
Width="64"
Height="25"
Margin="-1,2"
Cursor="Hand">
<Grid.RowDefinitions>
<RowDefinition Height="7*" />
<RowDefinition Height="6*" />
</Grid.RowDefinitions>
<Label
Grid.RowSpan="2"
Margin="-16,-1,3,-1"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Center"
Content="U"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Border
Grid.RowSpan="2"
Background="Transparent"
BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Grid.RowSpan="2"
Margin="0,-2,-2,-2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding SCR1Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="SCR Upper Power" />
</Grid>
<Grid
Width="64"
Height="25"
Margin="-1,2"
Cursor="Hand">
<Label
Margin="-16,-1,3,-1"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Center"
Content="M"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-2,-2,-2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding SCR2Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="SCR Middle Power" />
</Grid>
<Grid
Width="64"
Height="25"
Margin="-1,2"
Cursor="Hand">
<Label
Margin="-16,-1,3,-1"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Center"
Content="L"
FontFamily="Verdana"
FontSize="10"
Foreground="Black" />
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-2,-2,-2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding SCR3Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="SCR Lower Power" />
</Grid>
</StackPanel>
<StackPanel
Canvas.Left="275"
Canvas.Top="265"
Orientation="Horizontal">
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<!--<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>-->
<!--<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding SCRL3InputTemp}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="SCR Lower Pyro PV Temp" />-->
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding SCRL3TargetSP}"
ContentStringFormat="{}{0:F1}℃"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="SCR Lower Pyro SP Temp" />
</Grid>
</StackPanel>
<StackPanel
Canvas.Left="188"
Canvas.Top="300"
Orientation="Horizontal">
<Grid
Width="85"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding TC1Mode}"
FontFamily="Verdana"
Foreground="Cyan"
ToolTip="PSU Power/Pyro Mode" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding PT1Pressure}"
ContentStringFormat="{}{0:F1}mbar"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="Chamber Pressure" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding ActualSpeedFeedback}"
ContentStringFormat="{}{0:F1}rpm"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="Rotation Speed" />
</Grid>
</StackPanel>
<StackPanel
Canvas.Left="188"
Canvas.Top="325"
Orientation="Horizontal">
<Grid
Width="85"
Height="25"
Cursor="Hand"
Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="54*" />
<ColumnDefinition Width="31*" />
</Grid.ColumnDefinitions>
<Border
Grid.ColumnSpan="2"
Background="Transparent"
BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Grid.ColumnSpan="2"
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding PSU1Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Inner Power" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Border Background="Transparent" BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding PSU2Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Middle Power" />
</Grid>
<Grid
Width="80"
Height="25"
Cursor="Hand"
Opacity="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="13*" />
<ColumnDefinition Width="7*" />
</Grid.ColumnDefinitions>
<Border
Grid.ColumnSpan="2"
Background="Transparent"
BorderThickness="1">
<Rectangle
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
Grid.ColumnSpan="2"
Margin="0,-1,-1,-1"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding PSU3Power}"
ContentStringFormat="{}{0:F2}KW"
FontFamily="Verdana"
Foreground="#FFF"
ToolTip="PSU Outer Power" />
</Grid>
</StackPanel>
</Canvas>
<Canvas
x:Name="反应气体源"
Canvas.Left="-61"
Canvas.Top="285"
Width="24"
Height="33">
<Canvas.Resources>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</Canvas.Resources>
<TextBlock
Canvas.Left="-50"
Canvas.Top="177"
Text="Mol" />
<TextBlock
Canvas.Left="500"
Canvas.Top="177"
Text="Mol" />
<TextBlock
Canvas.Left="415"
Canvas.Top="177"
Text="Source" />
<TextBlock
Canvas.Left="21"
Canvas.Top="175"
Text="Source" />
<TextBlock
Canvas.Left="350"
Canvas.Top="177"
Text="Flow" />
<TextBlock
Canvas.Left="96"
Canvas.Top="175"
Text="Flow" />
<control:FlowPipeV2
Canvas.Left="134"
Canvas.Top="204"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISC2H4Flow}"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="134"
Canvas.Top="204"
Width="62"
Height="9"
Fill="{Binding C2H4FlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISC2H4Flow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="-75"
Canvas.Top="198"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding C2H4Color}" Text="{Binding C2H4Mol, StringFormat=F4}" />
</Border>
<Border
Canvas.Top="198"
Width="75"
Height="26"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding C2H4Color}" Text="C2H4" />
</Border>
<Border
Canvas.Left="75"
Canvas.Top="198"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding C2H4Color}" Text="{Binding C2H4Flow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="134"
Canvas.Top="228"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISSiH4Flow}"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="134"
Canvas.Top="228"
Width="62"
Height="9"
Fill="{Binding SIH4FlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISSiH4Flow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="-75"
Canvas.Top="223"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding SIH4Color}" Text="{Binding SIH4Mol, StringFormat=N4}" />
</Border>
<Border
Canvas.Top="223"
Width="75"
Height="26"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding SIH4Color}" Text="SiH4" />
</Border>
<Border
Canvas.Left="75"
Canvas.Top="223"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding SIH4Color}" Text="{Binding SiH4Flow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="134"
Canvas.Top="254"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISHCLFlow}"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="134"
Canvas.Top="254"
Width="62"
Height="9"
Fill="{Binding HCLFlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISHCLFlow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="-75"
Canvas.Top="247"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding HCLColor}" Text="{Binding HCLMol, StringFormat=N4}" />
</Border>
<Border
Canvas.Top="247"
Width="75"
Height="26"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding HCLColor}" Text="HCL" />
</Border>
<Border
Canvas.Left="75"
Canvas.Top="247"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding HCLColor}" Text="{Binding HCLFlow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="134"
Canvas.Top="280"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISPN2Flow}"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="134"
Canvas.Top="280"
Width="62"
Height="9"
Fill="{Binding PN2FlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISPN2Flow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="-75"
Canvas.Top="271"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding PN2Color}" Text="{Binding PN2Mol, StringFormat=N4}" />
</Border>
<Border
Canvas.Top="271"
Width="75"
Height="26"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding PN2Color}" Text="PN2" />
</Border>
<Border
Canvas.Left="75"
Canvas.Top="271"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding PN2Color}" Text="{Binding PN2Flow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="264"
Canvas.Top="204"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISH2Flow}"
IsReverse="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="264"
Canvas.Top="204"
Width="62"
Height="9"
Fill="Gold"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISH2Flow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="401"
Canvas.Top="197"
Width="75"
Height="26"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Text="H2" />
</Border>
<Border
Canvas.Left="476"
Canvas.Top="197"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding H2Flow}" Text="{Binding H2Mol, StringFormat=N4}" />
</Border>
<Border
Canvas.Left="326"
Canvas.Top="197"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Text="{Binding H2Flow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="264"
Canvas.Top="228"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISArFlow}"
IsReverse="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="264"
Canvas.Top="228"
Width="62"
Height="9"
Fill="Gold"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISArFlow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="401"
Canvas.Top="223"
Width="75"
Height="26"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Text="Ar" />
</Border>
<Border
Canvas.Left="476"
Canvas.Top="223"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding ArFlow}" Text="{Binding ArMol, StringFormat=N4}" />
</Border>
<Border
Canvas.Left="326"
Canvas.Top="223"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Text="{Binding ArFlow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="264"
Canvas.Top="254"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISTMAFlow}"
IsReverse="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="264"
Canvas.Top="254"
Width="62"
Height="9"
Fill="{Binding TMAFlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISTMAFlow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="401"
Canvas.Top="249"
Width="75"
Height="26"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TMAColor}" Text="TMA" />
</Border>
<Border
Canvas.Left="476"
Canvas.Top="249"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TMAColor}" Text="{Binding TMAMol, StringFormat=N4}" />
</Border>
<Border
Canvas.Left="326"
Canvas.Top="249"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TMAColor}" Text="{Binding TMAFlow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="264"
Canvas.Top="280"
Width="62"
Height="9"
FlowOrientation="Horizontal"
GasType="Slow"
IsFlowing="{Binding ISTCSFlow}"
IsReverse="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="0" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="264"
Canvas.Top="280"
Width="62"
Height="9"
Fill="{Binding TCSFlowColor}"
FlowDirection="RightToLeft"
Opacity="0.85"
OverridesDefaultStyle="False"
Stroke="Gray"
Visibility="{Binding ISTCSFlow, Converter={StaticResource BoolVisibilityConverter}}" />
<Border
Canvas.Left="401"
Canvas.Top="275"
Width="75"
Height="26"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TCSColor}" Text="TCS" />
</Border>
<Border
Canvas.Left="476"
Canvas.Top="275"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TCSColor}" Text="{Binding TCSMol, StringFormat=N4}" />
</Border>
<Border
Canvas.Left="326"
Canvas.Top="275"
Width="75"
Height="26"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1">
<TextBlock Foreground="{Binding TCSColor}" Text="{Binding TCSFlow, StringFormat={}{0:f1}}" />
</Border>
<control:FlowPipeV2
Canvas.Left="106"
Canvas.Top="230"
Width="196"
Height="18"
FlowOrientation="Vertical"
IsFlowing="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="270" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<control:FlowPipeV2
Canvas.Left="164"
Canvas.Top="230"
Width="196"
Height="18"
FlowOrientation="Vertical"
IsFlowing="True"
RenderTransformOrigin="0.5,0.5">
<control:FlowPipeV2.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="270" />
<TranslateTransform />
</TransformGroup>
</control:FlowPipeV2.RenderTransform>
</control:FlowPipeV2>
<Rectangle
Canvas.Left="196"
Canvas.Top="138"
Width="15"
Height="197"
Fill="Cyan"
Opacity="0.85"
OverridesDefaultStyle="False"
RenderTransformOrigin="6,0.517"
Stroke="Transparent" />
<Rectangle
Canvas.Left="255"
Canvas.Top="138"
Width="15"
Height="197"
Fill="Gold"
Opacity="0.85"
OverridesDefaultStyle="False"
RenderTransformOrigin="6,0.517"
Stroke="Transparent" />
</Canvas>
</Canvas>
</Canvas>
</Canvas>
<Grid
Margin="75,20,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<Grid.RowDefinitions>
<RowDefinition Height="24" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120" />
<ColumnDefinition Width="160" />
<ColumnDefinition Width="120" />
<ColumnDefinition Width="160" />
</Grid.ColumnDefinitions>
<Label
Grid.Row="0"
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Recipe"
FontSize="13"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="Recipe"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="1"
Padding="5,1"
Background="{Binding LLBStatusBackground}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LLBStatus}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding DisplayingRecipeName}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="3"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button
Width="70"
Height="25"
micro:Message.Attach="SelectRecipe()"
Content="Select"
FontSize="13"
IsEnabled="{Binding IsSelectButtonEnable}" />
</Border>
<Border
Grid.Row="2"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="Step No."
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="2"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding StepNumber}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="2"
Grid.Column="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1" />
<Border
Grid.Row="2"
Grid.Column="2"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="Step Name"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="2"
Grid.Column="3"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding StepName}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="3"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="Step Time(s)"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="3"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding StepTime}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="3"
Grid.Column="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1" />
<Border
Grid.Row="3"
Grid.Column="2"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="Recipe Time(s)"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="3"
Grid.Column="3"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<TextBlock
VerticalAlignment="Center"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="{Binding RecipeTime}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="4"
Grid.ColumnSpan="4"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1"
SnapsToDevicePixels="True">
<StackPanel
Width="550"
HorizontalAlignment="Center"
Orientation="Horizontal">
<Button
Width="70"
Height="25"
Margin="10,0,10,0"
Content="Start"
FontSize="13"
IsEnabled="{Binding IsStartButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="StartProcess" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="70"
Height="25"
Margin="10,0,10,0"
Content="Stop"
FontSize="13"
IsEnabled="False"
Visibility="Collapsed">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Stop" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="70"
Height="25"
Margin="10,0,10,0"
Content="Skip"
FontSize="13"
IsEnabled="{Binding IsSkipButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Skip" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="70"
Height="25"
Margin="10,0,10,0"
Content="Pause"
FontSize="13"
IsEnabled="{Binding IsPauseButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Pause" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="76"
Height="25"
Margin="10,0,10,0"
Content="Continue"
FontSize="13"
IsEnabled="{Binding IsContinueButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Continue" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<!--<Button FontSize="13" Content="Stop" Width="70" Height="25" Margin="10,0,10,0" IsEnabled="{Binding IsStopButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Stop">
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>-->
<Button
Width="70"
Height="25"
Margin="10,0,10,0"
Content="Abort"
FontSize="13"
IsEnabled="{Binding IsAbortButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Abort" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="70"
Height="25"
Margin="10,0"
Content="Monitor"
FontSize="13">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="ShowMonitorWindow" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</Border>
</Grid>
<Grid
Width="1134"
Height="713"
Margin="680,20,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<TabControl>
<TabItem Header="Recipe" IsSelected="True">
<Grid>
<Grid
x:Name="gridRecipe"
Margin="5,0"
IsEnabled="{Binding IsPermission}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="124*" />
<ColumnDefinition Width="435*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel
Grid.ColumnSpan="2"
IsEnabled="{Binding IsRecipeLoading, Converter={StaticResource BoolReverseConverter}}"
Orientation="Horizontal">
<Button
x:Name="btnLockRecipe"
Width="70"
Height="30"
Margin="0,0,10,0"
Click="BtnLockRecipe_OnClick"
Content="Lock" />
<!-- 更新PM正在Run的配方到下表中的配方 -->
<Button
Width="150"
Height="30"
Margin="0"
micro:Message.Attach="PushRecipeToCurrentProcess()"
Content="Reload In Process"
IsEnabled="{Binding AllowRipRecipe}"
ToolTip="Push the changes to the current process" />
<Grid Height="40" Margin="520,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" />
<ColumnDefinition Width="110" />
<ColumnDefinition Width="110" />
</Grid.ColumnDefinitions>
<Border
Background="{StaticResource Table_BG_Title}"
BorderBrush="{StaticResource Table_BD}"
BorderThickness="1,1,0,1"
CornerRadius="5 0 0 5">
<TextBlock
Margin="5,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="To Baseline Recipe" />
</Border>
<Border
Grid.Column="1"
Background="{StaticResource Table_BG_Content}"
BorderBrush="{StaticResource Table_BD}"
BorderThickness="1,1,0,1">
<!-- 重新加载基线配方 -->
<Button
Height="30"
Margin="5,0"
micro:Message.Attach="RestoreToBaselineRecipe()"
Content="Restore"
ToolTip="Discard changes and Restore to the baseline recipe" />
</Border>
<Border
Grid.Column="2"
Background="{StaticResource Table_BG_Content}"
BorderBrush="{StaticResource Table_BD}"
BorderThickness="1,1,1,1"
CornerRadius="0 5 5 0">
<!-- 保存基线配方 -->
<Button
Height="30"
Margin="5,0"
micro:Message.Attach="SaveToBaselineRecipe()"
Content="Save"
ToolTip="Save changes to the baseline recipe"
Visibility="{Binding AllowSaveRecipe, Converter={StaticResource BoolVisibilityConverter}}" />
</Border>
</Grid>
</StackPanel>
<dgExtension1:DataGridRecipe
x:Name="dgCustom"
Grid.Row="1"
Grid.ColumnSpan="2"
AllowDragToFill="False"
FrozenColumnCount="6"
IsEnabled="{Binding IsPermission}"
Recipe="{Binding CurrentRecipe, Mode=OneWay}" />
</Grid>
<controls:PanelLocker
x:Name="recipeLocker"
LockTarget="{Binding ElementName=gridRecipe}"
Visibility="Collapsed" />
</Grid>
</TabItem>
<TabItem Header="Gas Flow Statistic">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition />
</Grid.RowDefinitions>
<Label
Grid.Row="0"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Accumulated Gas Flow Statistic (sccm)"
FontSize="12"
Style="{DynamicResource Table_TitleStyle}" />
<ListView Grid.Row="1" ItemsSource="{Binding ProcessRunDataList}">
<ListView.Resources />
<ListView.View>
<GridView>
<!--<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
<Setter Property="IsHitTestVisible" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>-->
<GridViewColumn
Width="30"
DisplayMemberBinding="{Binding Index}"
Header="#" />
<GridViewColumn DisplayMemberBinding="{Binding RecipeName}" Header="Recipe Name" />
<!--<GridViewColumn Header="Duration" DisplayMemberBinding="{Binding StatisticsStart, StringFormat='{}{0:MM/dd hh:mm:ss.fff}'}" Width="80"/>-->
<GridViewColumn Width="140" Header="Duration">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:HH:mm:ss} - {1:HH:mm:ss}">
<Binding Path="ProcessBegin" />
<Binding Path="ProcessEnd" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!--<GridViewColumn Header="Wafer ID" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" TextTrimming="CharacterEllipsis" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>-->
<GridViewColumn DisplayMemberBinding="{Binding H2, StringFormat=F1}" Header="H2" />
<GridViewColumn DisplayMemberBinding="{Binding Ar, StringFormat=F1}" Header="Ar" />
<GridViewColumn DisplayMemberBinding="{Binding PN2, StringFormat=F1}" Header="PN2" />
<GridViewColumn DisplayMemberBinding="{Binding HCL, StringFormat=F1}" Header="HCL" />
<GridViewColumn DisplayMemberBinding="{Binding SiH4, StringFormat=F1}" Header="SiH2" />
<GridViewColumn DisplayMemberBinding="{Binding C2H4, StringFormat=F1}" Header="C2H4" />
<GridViewColumn DisplayMemberBinding="{Binding TCS, StringFormat=F1}" Header="TCS" />
<GridViewColumn DisplayMemberBinding="{Binding TMA, StringFormat=F1}" Header="TMA" />
<GridViewColumn DisplayMemberBinding="{Binding HeaterPowerConsumption, StringFormat=F3}" Header="Power(KWH)" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</TabItem>
<TabItem FontSize="12" Header="Gas Flow History">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical">
<StackPanel Width="260" Margin="5,5">
<StackPanel.Resources>
<Style TargetType="xctk:DateTimeUpDown">
<Setter Property="Width" Value="180" />
<Setter Property="Format" Value="Custom" />
<Setter Property="FormatString" Value="yyyy/MM/dd HH:mm:ss" />
</Style>
</StackPanel.Resources>
<StackPanel Orientation="Horizontal">
<TextBlock
Width="70"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Text="Start Time" />
<WindowsFormsHost
Width="170"
Height="22"
Margin="5,0,0,0"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14">
<forms:DateTimePicker
x:Name="wfTimeFrom"
CustomFormat="yyyy/MM/dd HH:mm:ss"
Format="Custom"
Value="2011-8-1" />
</WindowsFormsHost>
</StackPanel>
<StackPanel Margin="0,5,0,0" Orientation="Horizontal">
<TextBlock
Width="70"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Text="End Time" />
<WindowsFormsHost
Width="170"
Height="22"
Margin="5,0,0,0"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14">
<forms:DateTimePicker
x:Name="wfTimeTo"
CustomFormat="yyyy/MM/dd HH:mm:ss"
Format="Custom"
Value="2011-8-1" />
</WindowsFormsHost>
</StackPanel>
</StackPanel>
<StackPanel HorizontalAlignment="Right">
<Button
Width="100"
Height="30"
Margin="25,20"
Content="Query">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Query" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</StackPanel>
<userControls1:BusyIndicator
Grid.Column="3"
Width="Auto"
Height="Auto"
Padding="20,10"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Panel.ZIndex="1"
Background="{StaticResource Tab_BG}"
BorderBrush="Gray"
BorderThickness="3"
Message="{Binding BusyIndicatorContent}"
Visibility="{Binding IsBusyGasFlowSum, Converter={StaticResource BoolVisibilityConverter}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Canceled">
<micro:ActionMessage MethodName="CancelQuery" />
</i:EventTrigger>
</i:Interaction.Triggers>
</userControls1:BusyIndicator>
<DataGrid
Grid.Column="3"
AlternationCount="2"
AutoGenerateColumns="False"
CanUserAddRows="False"
FontSize="13"
IsReadOnly="True"
ItemsSource="{Binding GasFlowSumList}">
<DataGrid.Columns>
<DataGridTextColumn
Width="78"
Binding="{Binding Name}"
Header="Name" />
<DataGridTextColumn
Width="230"
Binding="{Binding RunVolume, StringFormat=F3}"
Header="Run(m³)" />
<DataGridTextColumn
Width="230"
Binding="{Binding VentVolume, StringFormat=F3}"
Header="Vent(m³)" />
<DataGridTextColumn
Width="300"
Binding="{Binding Volume, StringFormat=F3}"
Header="Total(m³)" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Grid>
</UserControl>