Sic03-8inch/SicUI/Models/PMs/PMProcessView.xaml

2343 lines
113 KiB
Plaintext
Raw Normal View History

2023-03-03 15:42:13 +08:00
<UserControl
x:Class="SicUI.Models.PMs.PMProcessView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cal="http://www.caliburn.org"
xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
xmlns:controls="clr-namespace:SicUI.Controls"
xmlns:controls1="clr-namespace:OpenSEMI.Ctrlib.Controls;assembly=MECF.Framework.UI.Client"
xmlns:converter="clr-namespace:SicUI.Converter"
xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
xmlns:editors="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors;assembly=MECF.Framework.UI.Client"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:micro="clr-namespace:Caliburn.Micro;assembly=MECF.Framework.UI.Client"
xmlns:exDg="clr-namespace:MECF.Framework.UI.Client.RecipeEditorLib.DGExtension;assembly=MECF.Framework.UI.Client"
xmlns:converters1="clr-namespace:MECF.Framework.UI.Client.RecipeEditorLib.Converters;assembly=MECF.Framework.UI.Client"
2023-03-03 15:42:13 +08:00
d:DesignHeight="750"
d:DesignWidth="1920"
d:Background="#91b0cd"
2023-03-03 15:42:13 +08:00
mc:Ignorable="d">
<UserControl.Resources>
<converter:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
<converters1:ParamToCellTooltipConverter x:Key="CellTooltipConverter" />
<converters1:IsSavedToNameMarkVisibilityConverter x:Key="IsSavedToNameMarkVisibilityConverter" />
<converters1:IsHighlightedToBorderThickness x:Key="IsHighlightedToBorderThickness" />
<converters1:IsHighlightedToBorderBrush x:Key="IsHighlightedToBorderBrush" />
2023-03-03 15:42:13 +08:00
<converters1:ParamValueDisplayConverter x:Key="ParamValueDisplayConverter" />
2023-03-03 15:42:13 +08:00
<SolidColorBrush x:Key="ValueChangedCellBackground" Color="#c0f18d" />
<DataTemplate x:Key="TemplateCellDisplay">
<Border
BorderBrush="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderBrush}}"
BorderThickness="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderThickness}}"
ToolTip="{Binding Converter={StaticResource CellTooltipConverter}}">
<Border.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Border.LayoutTransform>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSaved}" Value="False">
<Setter Property="Background" Value="{StaticResource ValueChangedCellBackground}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock
Padding="5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource ParamValueDisplayConverter}">
<Binding Path="Value" />
<Binding Path="IsHideValue" />
</MultiBinding>
</TextBlock.Text>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False" />
<Condition Binding="{Binding IsValidated}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="Red" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEqualsToPrevious}" Value="True" />
<Condition Binding="{Binding IsValidated}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="Red" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False" />
<Condition Binding="{Binding IsValidated}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="Green" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Border>
</DataTemplate>
<DataTemplate x:Key="TemplateStep">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="5,1"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center"
Orientation="Horizontal">
<controls1:CheckBoxExt
Margin="4"
IsChecked="{Binding Checked}"
Visibility="{Binding StepCheckVisibility}" />
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="14"
Foreground="Black"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Visible}" />
</StackPanel>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ParamTemplate">
<Grid Width="320" Margin="0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280" />
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<TextBlock
Grid.Column="0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="16"
Text="{Binding DisplayName}" />
<TextBlock
Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="16"
Text="{Binding UnitName}" />
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplateText">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="1,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<controls1:EditTextBlock
Padding="5,3"
AllowBackgroundChange="True"
Foreground="Black"
IsEnabled="{Binding IsEnabled}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplateNumberText">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="1,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<controls1:EditTextBlock
Padding="5,3"
AllowBackgroundChange="True"
Foreground="Black"
IsEnabled="{Binding IsEnabled}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplateSets3Ratio">
<Border>
<Border.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Border.LayoutTransform>
<TextBox
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
IsEnabled="{Binding IsEnabled}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<TextBox.Style>
<Style BasedOn="{StaticResource GenericTextBoxStyle}" TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding IsValidated}" Value="False">
<Setter Property="Foreground" Value="#9c0006" />
<Setter Property="Background" Value="#ffc7ce" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Border>
</DataTemplate>
<DataTemplate x:Key="TemplateNumber">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="1,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<controls1:EditTextBlock
Padding="5,3"
AllowBackgroundChange="True"
EditBoxMode="Decimal"
Foreground="Black"
IsEnabled="{Binding IsEnabled}"
MaxValue="{Binding Maximun}"
MinValue="{Binding Minimun}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplateCombox">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="1,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<controls1:ComboTextBlock
Padding="5,3"
AllowBackgroundChange="True"
Background="{Binding LoopBackground}"
Foreground="Black"
IsEditable="{Binding IsEditable}"
IsEnabled="{Binding IsEnabled}"
IsLoopItem="{Binding IsLoopItem}"
ItemsSource="{Binding Options}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplateComboxEx">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="1,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<controls1:ComboBoxExt
Padding="5,3"
ComboBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="DisplayName"
Foreground="{Binding Foreground}"
IsEditable="{Binding IsEditable}"
IsEnabled="{Binding IsEnabled}"
ItemsSource="{Binding Options}"
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TemplatePopSetting">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Grid.LayoutTransform>
<Border
Padding="15,1"
Background="{DynamicResource Table_BG_Content}"
BorderThickness="0,0,1,1">
<Button
Content="{Binding DisplayName}"
Foreground="Black"
IsEnabled="{Binding IsEnabled}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="PopSetting">
<micro:Parameter Value="{Binding Name}" />
<micro:Parameter Value="{Binding}" />
</micro:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
<Setter Property="BorderBrush" Value="Transparent" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ParamExpander">
<Border
Width="340"
Margin="-5,-8,-6,-8"
Background="LightGray">
<Expander
Margin="5"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Stretch"
FontSize="14"
Header="{Binding DisplayName}"
IsExpanded="{Binding IsExpanded}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Expanded">
<micro:ActionMessage MethodName="ParamsExpanded">
<micro:Parameter Value="{Binding}" />
</micro:ActionMessage>
</i:EventTrigger>
<i:EventTrigger EventName="Collapsed">
<micro:ActionMessage MethodName="ParamsCollapsed">
<micro:Parameter Value="{Binding}" />
</micro:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Expander>
<Border.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Border.LayoutTransform>
</Border>
</DataTemplate>
<DataTemplate x:Key="TemplateExpander">
<Border
Width="Auto"
MinWidth="90"
Margin="0,-5"
Background="LightGray">
<Border.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</Border.LayoutTransform>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding IsVisible}" Value="false">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" />
</Border>
</DataTemplate>
<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="/MECF.Framework.UI.Client;component/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="/MECF.Framework.UI.Client;component/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>
<editors:FolderOrFileTemplateSelector
x:Key="FolderFileTemplateSelector"
FileTemplate="{StaticResource FileTemplate}"
FolderTemplate="{StaticResource FolderTemplate}" />
<DataTemplate x:Key="LableTemplate">
<Grid>
<Border
x:Name="bdRectangle"
Background="Transparent"
BorderThickness="1">
<Rectangle
Name="rectBkground"
Margin="1"
Fill="Gray"
Opacity="1"
RadiusX="2"
RadiusY="2"
Stroke="#373737"
StrokeThickness="1"
Style="{x:Null}" />
</Border>
<Label
x:Name="labelValue"
Margin="0,-2,-2,-2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ContentStringFormat="{}{0:F1} "
FontFamily="Verdana" />
</Grid>
</DataTemplate>
</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="503"
Height="415">
<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}}" />
<Label
Canvas.Top="198"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1"
Content="C2H4"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding C2H4Color}" />
<Label
Canvas.Left="75"
Canvas.Top="198"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding C2H4Color}" Text="{Binding C2H4Flow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Top="223"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1"
Content="SIH4"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding SIH4Color}" />
<Label
Canvas.Left="75"
Canvas.Top="223"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding SIH4Color}" Text="{Binding SiH4Flow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Top="247"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1"
Content="HCL"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding HCLColor}" />
<Label
Canvas.Left="75"
Canvas.Top="247"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding HCLColor}" Text="{Binding HCLFlow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Top="271"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Cyan"
BorderBrush="Gray"
BorderThickness="1"
Content="PN2"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding PN2Color}" />
<Label
Canvas.Left="75"
Canvas.Top="271"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding PN2Color}" Text="{Binding PN2Flow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Left="401"
Canvas.Top="197"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1"
Content="H2"
FontFamily="Arial"
FontSize="11" />
<Label
Canvas.Left="326"
Canvas.Top="197"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Text="{Binding H2Flow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Left="401"
Canvas.Top="223"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1"
Content="Ar"
FontFamily="Arial"
FontSize="11" />
<Label
Canvas.Left="326"
Canvas.Top="223"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Text="{Binding ArFlow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Left="401"
Canvas.Top="249"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1"
Content="TMA"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding TMAColor}" />
<Label
Canvas.Left="326"
Canvas.Top="249"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding TMAColor}" Text="{Binding TMAFlow, StringFormat={}{0:f1}}" />
</Label>
<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}}" />
<Label
Canvas.Left="401"
Canvas.Top="275"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="Gold"
BorderBrush="Gray"
BorderThickness="1"
Content="TCS"
FontFamily="Arial"
FontSize="11"
Foreground="{Binding TCSColor}" />
<Label
Canvas.Left="326"
Canvas.Top="275"
Width="75"
Height="26"
HorizontalContentAlignment="Center"
Background="LightGray"
BorderBrush="Gray"
BorderThickness="1"
FontFamily="Arial"
FontSize="11">
<TextBlock Foreground="{Binding TCSColor}" Text="{Binding TCSFlow, StringFormat={}{0:f1}}" />
</Label>
<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="50,20">
<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 SelectedRecipeDispaly}"
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"
Content="Select"
FontSize="13"
IsEnabled="{Binding IsSelectButtonEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Select" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</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">
<cal:ActionMessage MethodName="Start" />
</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">
<cal: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">
<cal: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">
<cal: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">
<cal: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">
<cal: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">
<cal:ActionMessage MethodName="ShowMonitorWindow" />
2023-03-03 15:42:13 +08:00
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</Border>
</Grid>
<Canvas Visibility="{Binding StepsVisibility, Converter={StaticResource BoolVisibilityConverter}}">
<TabControl
Grid.Row="1"
Canvas.Left="694"
Canvas.Top="10"
Width="1134"
Height="713">
<TabItem Header="Steps" IsSelected="True">
<Grid
Grid.Row="1"
Margin="0,0,0,0"
IsEnabled="{Binding IsPermission}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="14*" />
<ColumnDefinition Width="547*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<exDg:XDataGrid
2023-03-03 15:42:13 +08:00
x:Name="dgCustom"
Grid.ColumnSpan="2"
Margin="0,0,15,15"
HorizontalAlignment="Left"
VerticalAlignment="Top"
AlternationCount="1"
AutoGenerateColumns="False"
Background="#00FFFFFF"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
FrozenColumnCount="4"
GridLinesVisibility="None"
HeadersVisibility="Column"
IsEnabled="True"
SelectionMode="Single"
UseHorizontalScrolling="True"
Validation.ErrorTemplate="{x:Null}"
VerticalScrollBarVisibility="Auto"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling">
<exDg:XDataGrid.LayoutTransform>
2023-03-03 15:42:13 +08:00
<TransformGroup>
<RotateTransform Angle="-90" />
<ScaleTransform ScaleX="1" ScaleY="-1" />
</TransformGroup>
</exDg:XDataGrid.LayoutTransform>
</exDg:XDataGrid>
2023-03-03 15:42:13 +08:00
</Grid>
</TabItem>
</TabControl>
</Canvas>
</Grid>
</UserControl>