1添加真值表XML配置
2添加实时气体流量显示界面,封装单独用户控件 3添加后台数据绑定,添加后台数据 4修改S02数据不显示问题
This commit is contained in:
parent
b412ddd3ba
commit
cab224c9f9
File diff suppressed because it is too large
Load Diff
@ -491,7 +491,7 @@ namespace SicModules.PMs
|
|||||||
_pmProcessAbort = new PMProcessAbortRoutine(ModuleHelper.Converter(Module), this);
|
_pmProcessAbort = new PMProcessAbortRoutine(ModuleHelper.Converter(Module), this);
|
||||||
|
|
||||||
//初始化加载真值表
|
//初始化加载真值表
|
||||||
//PMGasTrueTable = new PMGasTrueTableInitialize(Module, $"Config\\PM\\{Module}\\RealtimeGasFlow{Module}.xml");
|
PMGasTrueTable = new PMGasTrueTableInitialize(Module, $"Config\\PM\\{Module}\\RealtimeGasFlow{Module}.xml");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -51,7 +51,7 @@ using System.Windows;
|
|||||||
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
|
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
|
||||||
// 方法是按如下所示使用“*”: :
|
// 方法是按如下所示使用“*”: :
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.1.0.60824")]
|
[assembly: AssemblyVersion("1.1.0.60825")]
|
||||||
[assembly: AssemblyInformationalVersion("MoS2(无EFEM)")]
|
[assembly: AssemblyInformationalVersion("MoS2(无EFEM)")]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2750,7 +2750,7 @@
|
|||||||
<Label
|
<Label
|
||||||
Canvas.Left="143"
|
Canvas.Left="143"
|
||||||
Canvas.Top="627"
|
Canvas.Top="627"
|
||||||
Content="Mo(CO)6" />
|
Content="MO(CO)6" />
|
||||||
<controlRT:ValveBig
|
<controlRT:ValveBig
|
||||||
Canvas.Left="143"
|
Canvas.Left="143"
|
||||||
Canvas.Top="426"
|
Canvas.Top="426"
|
||||||
|
|||||||
@ -55,6 +55,6 @@ using System.Windows;
|
|||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.1.0.60824")]
|
[assembly: AssemblyVersion("1.1.0.60825")]
|
||||||
[assembly: AssemblyInformationalVersion("MoS2(无EFEM)")]
|
[assembly: AssemblyInformationalVersion("MoS2(无EFEM)")]
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace MECF.Framework.Common.Aitex.Core.Common.DeviceData
|
||||||
|
{
|
||||||
|
public class GasFlowData
|
||||||
|
{
|
||||||
|
private const double RUN_LOWER_LIMIT = 2.0;
|
||||||
|
|
||||||
|
public string GasName { get; set; }
|
||||||
|
|
||||||
|
public double Flow { get; set; }
|
||||||
|
|
||||||
|
public double RunFlow { get; set; }
|
||||||
|
|
||||||
|
public double VentFlow { get; set; }
|
||||||
|
|
||||||
|
public double Mol { get; set; }
|
||||||
|
|
||||||
|
public bool IsRun => Flow > RUN_LOWER_LIMIT;
|
||||||
|
|
||||||
|
public Visibility RunVisibility => RunFlow > RUN_LOWER_LIMIT ? Visibility.Visible : Visibility.Hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -234,6 +234,7 @@
|
|||||||
<Compile Include="Aitex\Core\Common\DeviceData\EnumRfPowerRegulationMode.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\EnumRfPowerRegulationMode.cs" />
|
||||||
<Compile Include="Aitex\Core\Common\DeviceData\EnumRfPowerWorkMode.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\EnumRfPowerWorkMode.cs" />
|
||||||
<Compile Include="Aitex\Core\Common\DeviceData\FlowMeterAlarmItem.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\FlowMeterAlarmItem.cs" />
|
||||||
|
<Compile Include="Aitex\Core\Common\DeviceData\GasFlowData.cs" />
|
||||||
<Compile Include="Aitex\Core\Common\DeviceData\GasFlowSum.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\GasFlowSum.cs" />
|
||||||
<Compile Include="Aitex\Core\Common\DeviceData\IDeviceData.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\IDeviceData.cs" />
|
||||||
<Compile Include="Aitex\Core\Common\DeviceData\IoDevice\AITProcessRunData.cs" />
|
<Compile Include="Aitex\Core\Common\DeviceData\IoDevice\AITProcessRunData.cs" />
|
||||||
|
|||||||
@ -64,7 +64,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
|
|||||||
SC.RegisterValueChangedCallback($"PM.{ModuleName}.Efficiency.{GasFlowRatioName}", OnGasFlowRatioSCChanged);
|
SC.RegisterValueChangedCallback($"PM.{ModuleName}.Efficiency.{GasFlowRatioName}", OnGasFlowRatioSCChanged);
|
||||||
GasFlowRatioValue = SC.SafeGetValue<double>($"PM.{ModuleName}.Efficiency.{GasFlowRatioName}", 1d);
|
GasFlowRatioValue = SC.SafeGetValue<double>($"PM.{ModuleName}.Efficiency.{GasFlowRatioName}", 1d);
|
||||||
|
|
||||||
if (GasName == "PN2_Vent")
|
if (GasName == "O2_Vent")
|
||||||
DATA.Subscribe($"{ModuleName}.GasRealTimeFlow.{GasName}.FeedBackSpecial", () => PN2_VentSpecial, SubscriptionAttribute.FLAG.IgnoreSaveDB);//仅作为显示用,不存储数据库
|
DATA.Subscribe($"{ModuleName}.GasRealTimeFlow.{GasName}.FeedBackSpecial", () => PN2_VentSpecial, SubscriptionAttribute.FLAG.IgnoreSaveDB);//仅作为显示用,不存储数据库
|
||||||
|
|
||||||
DATA.Subscribe($"{ModuleName}.GasRealTimeFlow.{GasName}.FeedBack", () => GasFlowFeedBack);
|
DATA.Subscribe($"{ModuleName}.GasRealTimeFlow.{GasName}.FeedBack", () => GasFlowFeedBack);
|
||||||
@ -93,9 +93,9 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
|
|||||||
{
|
{
|
||||||
|
|
||||||
//PN2是特殊计算
|
//PN2是特殊计算
|
||||||
if (GasName == "PN2_Run")
|
if (GasName == "O2_Run")
|
||||||
_feedBack += GasTrueTableRowList[i].AccumulationPN2Run();
|
_feedBack += GasTrueTableRowList[i].AccumulationPN2Run();
|
||||||
else if (GasName == "PN2_Vent")
|
else if (GasName == "O2_Vent")
|
||||||
{
|
{
|
||||||
double cache = GasTrueTableRowList[i].AccumulationPN2Run();
|
double cache = GasTrueTableRowList[i].AccumulationPN2Run();
|
||||||
if (i == 2)
|
if (i == 2)
|
||||||
|
|||||||
@ -46,7 +46,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (GasName.Contains("PN2"))//PN2是特殊计算不能在此初始化
|
if (GasName=="O2_Run" || GasName == "O2_Vent")//PN2是特殊计算不能在此初始化
|
||||||
return;
|
return;
|
||||||
|
|
||||||
foreach (var rowOutputs in XMLOutputList)
|
foreach (var rowOutputs in XMLOutputList)
|
||||||
@ -111,13 +111,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
|
|||||||
|
|
||||||
foreach (var rowOutputs in XMLOutputList)
|
foreach (var rowOutputs in XMLOutputList)
|
||||||
{
|
{
|
||||||
if (rowOutputs.ControlName.Contains("Mfc5"))
|
if (rowOutputs.ControlName.Contains("Mfc6"))
|
||||||
{
|
|
||||||
//Output配置的单元格
|
|
||||||
var _mfc = DEVICE.GetDevice<IoMFC>($"{ModuleName}.{rowOutputs.ControlName}");
|
|
||||||
volue += _mfc.FeedBack * rowOutputs.Value;
|
|
||||||
}
|
|
||||||
else if (rowOutputs.ControlName.Contains("Mfc6"))
|
|
||||||
{
|
{
|
||||||
//特殊气体流量
|
//特殊气体流量
|
||||||
var _mfc3 = DEVICE.GetDevice<IoMFC>($"{ModuleName}.Mfc3");
|
var _mfc3 = DEVICE.GetDevice<IoMFC>($"{ModuleName}.Mfc3");
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
x:Class="MECF.Framework.UI.Client.CenterViews.Modules.PM.PMProcessView"
|
x:Class="MECF.Framework.UI.Client.CenterViews.Modules.PM.PMProcessView"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:color="clr-namespace:MECF.Framework.UI.Client.CenterViews.Maintain"
|
||||||
xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
|
xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
|
||||||
xmlns:controls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Controls"
|
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:cv="clr-namespace:MECF.Framework.UI.Core.Converters;assembly=MECF.Framework.UI.Core"
|
||||||
@ -14,7 +15,6 @@
|
|||||||
xmlns:micro="clr-namespace:Caliburn.Micro"
|
xmlns:micro="clr-namespace:Caliburn.Micro"
|
||||||
xmlns:userControls1="clr-namespace:Sicentury.Core.UserControls;assembly=Sicentury.Core"
|
xmlns:userControls1="clr-namespace:Sicentury.Core.UserControls;assembly=Sicentury.Core"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
xmlns:color="clr-namespace:MECF.Framework.UI.Client.CenterViews.Maintain"
|
|
||||||
d:Background="#91b0cd"
|
d:Background="#91b0cd"
|
||||||
d:DesignHeight="750"
|
d:DesignHeight="750"
|
||||||
d:DesignWidth="1920"
|
d:DesignWidth="1920"
|
||||||
@ -23,8 +23,14 @@
|
|||||||
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
|
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
|
||||||
mc:Ignorable="d">
|
mc:Ignorable="d">
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<color:BooleanToUIColorConverter x:Key="boolToUIColorConverter" FalseColor="LawnGreen" TrueColor="Black"/>
|
<color:BooleanToUIColorConverter
|
||||||
<color:BooleanToUIColorConverter x:Key="boolToUIColorConverter2" FalseColor="LawnGreen" TrueColor="White"/>
|
x:Key="boolToUIColorConverter"
|
||||||
|
FalseColor="LawnGreen"
|
||||||
|
TrueColor="Black" />
|
||||||
|
<color:BooleanToUIColorConverter
|
||||||
|
x:Key="boolToUIColorConverter2"
|
||||||
|
FalseColor="LawnGreen"
|
||||||
|
TrueColor="White" />
|
||||||
<cv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
|
<cv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
|
||||||
<HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">
|
<HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">
|
||||||
<StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}">
|
<StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}">
|
||||||
@ -141,7 +147,11 @@
|
|||||||
<RowDefinition Height="300" />
|
<RowDefinition Height="300" />
|
||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Canvas Grid.Row="1" x:Name="腔体" HorizontalAlignment="Left" Margin="154,-190,0,0">
|
<Canvas
|
||||||
|
x:Name="腔体"
|
||||||
|
Grid.Row="1"
|
||||||
|
Margin="154,-190,0,0"
|
||||||
|
HorizontalAlignment="Left">
|
||||||
<Rectangle
|
<Rectangle
|
||||||
Canvas.Top="100"
|
Canvas.Top="100"
|
||||||
Width="360"
|
Width="360"
|
||||||
@ -804,7 +814,6 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
|
|
||||||
<Canvas
|
<Canvas
|
||||||
x:Name="反应气体源"
|
x:Name="反应气体源"
|
||||||
Canvas.Left="-61"
|
Canvas.Left="-61"
|
||||||
@ -817,519 +826,53 @@
|
|||||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||||
</Style>
|
</Style>
|
||||||
</Canvas.Resources>
|
</Canvas.Resources>
|
||||||
|
|
||||||
<TextBlock
|
<TextBlock
|
||||||
Canvas.Left="-50"
|
Canvas.Left="420"
|
||||||
Canvas.Top="177"
|
Canvas.Top="180"
|
||||||
Text="{lex:Loc ID_TXT_GasMol}" />
|
|
||||||
<TextBlock
|
|
||||||
Canvas.Left="500"
|
|
||||||
Canvas.Top="177"
|
|
||||||
Text="{lex:Loc ID_TXT_GasMol}" />
|
|
||||||
<TextBlock
|
|
||||||
Canvas.Left="415"
|
|
||||||
Canvas.Top="177"
|
|
||||||
Text="{lex:Loc ID_TXT_GasSource}" />
|
Text="{lex:Loc ID_TXT_GasSource}" />
|
||||||
<TextBlock
|
<TextBlock
|
||||||
Canvas.Left="21"
|
Canvas.Left="500"
|
||||||
Canvas.Top="175"
|
Canvas.Top="180"
|
||||||
|
Text="Vent" />
|
||||||
|
<TextBlock
|
||||||
|
Canvas.Left="-60"
|
||||||
|
Canvas.Top="180"
|
||||||
|
Text="Vent" />
|
||||||
|
<TextBlock
|
||||||
|
Canvas.Left="11"
|
||||||
|
Canvas.Top="180"
|
||||||
Text="{lex:Loc ID_TXT_GasSource}" />
|
Text="{lex:Loc ID_TXT_GasSource}" />
|
||||||
<TextBlock
|
<TextBlock
|
||||||
Canvas.Left="350"
|
Canvas.Left="350"
|
||||||
Canvas.Top="177"
|
Canvas.Top="180"
|
||||||
Text="{lex:Loc ID_TXT_GasFlow}" />
|
Text="Run" />
|
||||||
<TextBlock
|
<TextBlock
|
||||||
Canvas.Left="96"
|
Canvas.Left="90"
|
||||||
Canvas.Top="175"
|
Canvas.Top="180"
|
||||||
Text="{lex:Loc ID_TXT_GasFlow}" />
|
Text="Run" />
|
||||||
|
|
||||||
|
<StackPanel Canvas.Left="264" Canvas.Top="200">
|
||||||
|
<control:GasFlow FlowData="{Binding H2FlowData}" />
|
||||||
|
<control:GasFlow FlowData="{Binding N2FlowData}" />
|
||||||
|
<control:GasFlow FlowData="{Binding H2SFlowData}" />
|
||||||
|
<control:GasFlow FlowData="{Binding H2SeFlowData}" />
|
||||||
|
<control:GasFlow FlowData="{Binding CS2FlowData}" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Canvas.Left="-85" Canvas.Top="200">
|
||||||
|
<control:GasFlow2 FlowData="{Binding O2FlowData}" />
|
||||||
|
<control:GasFlow2 FlowData="{Binding MOFlowData}" />
|
||||||
|
<control:GasFlow2 FlowData="{Binding WCO6FlowData}" />
|
||||||
|
<control:GasFlow2 FlowData="{Binding MOCO6FlowData}" />
|
||||||
|
<control:GasFlow2 FlowData="{Binding SO2FlowData}" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
|
||||||
<control:FlowPipeV2
|
<control:FlowPipeV2
|
||||||
Canvas.Left="134"
|
Canvas.Left="94"
|
||||||
Canvas.Top="204"
|
Canvas.Top="240"
|
||||||
Width="62"
|
Width="220"
|
||||||
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="{Binding CarbonSource}" />
|
|
||||||
</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 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 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"
|
Height="18"
|
||||||
FlowOrientation="Vertical"
|
FlowOrientation="Vertical"
|
||||||
IsFlowing="True"
|
IsFlowing="True"
|
||||||
@ -1345,9 +888,9 @@
|
|||||||
</control:FlowPipeV2>
|
</control:FlowPipeV2>
|
||||||
|
|
||||||
<control:FlowPipeV2
|
<control:FlowPipeV2
|
||||||
Canvas.Left="164"
|
Canvas.Left="152"
|
||||||
Canvas.Top="230"
|
Canvas.Top="240"
|
||||||
Width="196"
|
Width="220"
|
||||||
Height="18"
|
Height="18"
|
||||||
FlowOrientation="Vertical"
|
FlowOrientation="Vertical"
|
||||||
IsFlowing="True"
|
IsFlowing="True"
|
||||||
@ -1365,9 +908,9 @@
|
|||||||
Canvas.Left="196"
|
Canvas.Left="196"
|
||||||
Canvas.Top="138"
|
Canvas.Top="138"
|
||||||
Width="15"
|
Width="15"
|
||||||
Height="197"
|
Height="220"
|
||||||
Fill="Cyan"
|
Fill="Cyan"
|
||||||
Opacity="0.85"
|
Opacity="0.8"
|
||||||
OverridesDefaultStyle="False"
|
OverridesDefaultStyle="False"
|
||||||
RenderTransformOrigin="6,0.517"
|
RenderTransformOrigin="6,0.517"
|
||||||
Stroke="Transparent" />
|
Stroke="Transparent" />
|
||||||
@ -1375,18 +918,22 @@
|
|||||||
Canvas.Left="255"
|
Canvas.Left="255"
|
||||||
Canvas.Top="138"
|
Canvas.Top="138"
|
||||||
Width="15"
|
Width="15"
|
||||||
Height="197"
|
Height="220"
|
||||||
Fill="Gold"
|
Fill="Gold"
|
||||||
Opacity="0.85"
|
Opacity="0.8"
|
||||||
OverridesDefaultStyle="False"
|
OverridesDefaultStyle="False"
|
||||||
RenderTransformOrigin="6,0.517"
|
RenderTransformOrigin="6,0.517"
|
||||||
Stroke="Transparent" />
|
Stroke="Transparent" />
|
||||||
</Canvas>
|
</Canvas>
|
||||||
|
|
||||||
</Canvas>
|
</Canvas>
|
||||||
|
|
||||||
<Grid Grid.Row="0" Grid.Column="0"
|
<Grid
|
||||||
|
Grid.Row="0"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="0,10,0,0"
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Top" Margin="0,10,0,0">
|
VerticalAlignment="Top">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="24" />
|
<RowDefinition Height="24" />
|
||||||
<RowDefinition Height="32" />
|
<RowDefinition Height="32" />
|
||||||
@ -1418,8 +965,8 @@
|
|||||||
BorderBrush="{DynamicResource Table_BD}"
|
BorderBrush="{DynamicResource Table_BD}"
|
||||||
BorderThickness="1,0,1,1">
|
BorderThickness="1,0,1,1">
|
||||||
<TextBlock
|
<TextBlock
|
||||||
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
|
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
|
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
|
||||||
FontSize="13"
|
FontSize="13"
|
||||||
Foreground="{DynamicResource FG_Black}"
|
Foreground="{DynamicResource FG_Black}"
|
||||||
Text="{lex:Loc {Binding RecipeToolTip2, FallbackValue=Unknown}}"
|
Text="{lex:Loc {Binding RecipeToolTip2, FallbackValue=Unknown}}"
|
||||||
@ -1435,9 +982,9 @@
|
|||||||
BorderBrush="{DynamicResource Table_BD}"
|
BorderBrush="{DynamicResource Table_BD}"
|
||||||
BorderThickness="0,0,1,1">
|
BorderThickness="0,0,1,1">
|
||||||
<TextBlock
|
<TextBlock
|
||||||
|
MinWidth="50"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
FontSize="13"
|
FontSize="13"
|
||||||
MinWidth="50"
|
|
||||||
Foreground="{Binding ReadRecipeFromLocal, Converter={StaticResource boolToUIColorConverter}}"
|
Foreground="{Binding ReadRecipeFromLocal, Converter={StaticResource boolToUIColorConverter}}"
|
||||||
Text="{Binding DisplayingRecipeName, TargetNullValue=empty}"
|
Text="{Binding DisplayingRecipeName, TargetNullValue=empty}"
|
||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
@ -1737,7 +1284,7 @@
|
|||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Grid Grid.Column="1" Grid.RowSpan="2">
|
<Grid Grid.RowSpan="2" Grid.Column="1">
|
||||||
<TabControl>
|
<TabControl>
|
||||||
<TabItem Header="{lex:Loc ID_TXT_Recipe}" IsSelected="True">
|
<TabItem Header="{lex:Loc ID_TXT_Recipe}" IsSelected="True">
|
||||||
<Grid>
|
<Grid>
|
||||||
@ -1762,20 +1309,31 @@
|
|||||||
Click="BtnLockRecipe_OnClick"
|
Click="BtnLockRecipe_OnClick"
|
||||||
Content="{lex:Loc ID_BTN_LockRecipe_Content}"
|
Content="{lex:Loc ID_BTN_LockRecipe_Content}"
|
||||||
ToolTip="{lex:Loc ID_BTN_LockRecipe_ToolTip}" />
|
ToolTip="{lex:Loc ID_BTN_LockRecipe_ToolTip}" />
|
||||||
<Border lex:ResxLocalizationProvider.DefaultDictionary="lang_terms" CornerRadius="4" Width="140" Height="40" BorderThickness="2" Margin="3" Background="{Binding ReadRecipeFromLocal,Converter={StaticResource boolToUIColorConverter2}}">
|
<Border
|
||||||
<TextBlock Text="{lex:Loc {Binding RecipeToolTip2, FallbackValue=Unknown}}" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
Width="140"
|
||||||
|
Height="40"
|
||||||
|
Margin="3"
|
||||||
|
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
|
||||||
|
Background="{Binding ReadRecipeFromLocal, Converter={StaticResource boolToUIColorConverter2}}"
|
||||||
|
BorderThickness="2"
|
||||||
|
CornerRadius="4">
|
||||||
|
<TextBlock
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
FontSize="16"
|
||||||
|
Text="{lex:Loc {Binding RecipeToolTip2, FallbackValue=Unknown}}" />
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
Width="150"
|
Width="150"
|
||||||
Height="30"
|
Height="30"
|
||||||
Margin="0"
|
Margin="0"
|
||||||
micro:Message.Attach="PushRecipeToCurrentProcess()"
|
|
||||||
HorizontalAlignment="Left"
|
HorizontalAlignment="Left"
|
||||||
|
micro:Message.Attach="PushRecipeToCurrentProcess()"
|
||||||
Content="{lex:Loc ID_BTN_UpdateRecipeInProcess_Content}"
|
Content="{lex:Loc ID_BTN_UpdateRecipeInProcess_Content}"
|
||||||
IsEnabled="{Binding IsAllowPush}"
|
IsEnabled="{Binding IsAllowPush}"
|
||||||
Visibility="{Binding AllowRipRecipe}"
|
ToolTip="{lex:Loc ID_BTN_UpdateRecipeInProcess_ToolTip}"
|
||||||
ToolTip="{lex:Loc ID_BTN_UpdateRecipeInProcess_ToolTip}" />
|
Visibility="{Binding AllowRipRecipe}" />
|
||||||
|
|
||||||
<!--<Label Margin="5,0" Content="{Binding CurrentRecipe.FullName}" FontSize="15" VerticalAlignment="Center"></Label>-->
|
<!--<Label Margin="5,0" Content="{Binding CurrentRecipe.FullName}" FontSize="15" VerticalAlignment="Center"></Label>-->
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
@ -1786,16 +1344,33 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<!-- 更新PM正在Run的配方到下表中的配方 -->
|
<!-- 更新PM正在Run的配方到下表中的配方 -->
|
||||||
|
|
||||||
<Grid Height="40" Grid.Column="1" HorizontalAlignment="Right">
|
<Grid
|
||||||
|
Grid.Column="1"
|
||||||
|
Height="40"
|
||||||
|
HorizontalAlignment="Right">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="200" />
|
<ColumnDefinition Width="200" />
|
||||||
<ColumnDefinition Width="140" />
|
<ColumnDefinition Width="140" />
|
||||||
<ColumnDefinition Width="110" />
|
<ColumnDefinition Width="110" />
|
||||||
<ColumnDefinition Width="110" />
|
<ColumnDefinition Width="110" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<StackPanel Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Bottom" Visibility="{Binding RecipeDifferenceVisiblity}">
|
<StackPanel
|
||||||
<Image Height="20" Width="20" Source="/MECF.Framework.UI.Client;component/Resources/Images/warning.png" Stretch="Uniform"/>
|
Grid.Column="0"
|
||||||
<TextBlock Foreground="Red" Text="{lex:Loc ID_TXT_Differ_With_Source}" Margin="5" HorizontalAlignment="Right" VerticalAlignment="Center"/>
|
HorizontalAlignment="Right"
|
||||||
|
VerticalAlignment="Bottom"
|
||||||
|
Orientation="Horizontal"
|
||||||
|
Visibility="{Binding RecipeDifferenceVisiblity}">
|
||||||
|
<Image
|
||||||
|
Width="20"
|
||||||
|
Height="20"
|
||||||
|
Source="/MECF.Framework.UI.Client;component/Resources/Images/warning.png"
|
||||||
|
Stretch="Uniform" />
|
||||||
|
<TextBlock
|
||||||
|
Margin="5"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Foreground="Red"
|
||||||
|
Text="{lex:Loc ID_TXT_Differ_With_Source}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Border
|
<Border
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
@ -1835,8 +1410,8 @@
|
|||||||
Height="30"
|
Height="30"
|
||||||
Margin="5,0"
|
Margin="5,0"
|
||||||
micro:Message.Attach="SaveToBaselineRecipe()"
|
micro:Message.Attach="SaveToBaselineRecipe()"
|
||||||
IsEnabled="{Binding IsAllowSave}"
|
|
||||||
Content="{lex:Loc ID_TXT_SaveToLocal}"
|
Content="{lex:Loc ID_TXT_SaveToLocal}"
|
||||||
|
IsEnabled="{Binding IsAllowSave}"
|
||||||
ToolTip="{lex:Loc ID_BTN_Save_ToolTip}"
|
ToolTip="{lex:Loc ID_BTN_Save_ToolTip}"
|
||||||
Visibility="{Binding AllowSaveRecipe, Converter={StaticResource BoolVisibilityConverter}}" />
|
Visibility="{Binding AllowSaveRecipe, Converter={StaticResource BoolVisibilityConverter}}" />
|
||||||
</Border>
|
</Border>
|
||||||
@ -1939,7 +1514,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<StackPanel Orientation="Vertical" Grid.ColumnSpan="2">
|
<StackPanel Grid.ColumnSpan="2" Orientation="Vertical">
|
||||||
<StackPanel Width="260" Margin="5,5">
|
<StackPanel Width="260" Margin="5,5">
|
||||||
<StackPanel.Resources>
|
<StackPanel.Resources>
|
||||||
<Style TargetType="xctk:DateTimeUpDown">
|
<Style TargetType="xctk:DateTimeUpDown">
|
||||||
|
|||||||
@ -1585,102 +1585,6 @@ namespace MECF.Framework.UI.Client.CenterViews.Modules.PM
|
|||||||
public bool IsTCSRunMode => V53.IsOpen;
|
public bool IsTCSRunMode => V53.IsOpen;
|
||||||
public bool IsTMARunMode => V41.IsOpen && !V42.IsOpen;
|
public bool IsTMARunMode => V41.IsOpen && !V42.IsOpen;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.Ar_Run.FeedBack")]
|
|
||||||
public double ArFlow_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.Ar_Vent.FeedBack")]
|
|
||||||
public double ArFlow_Vent { get; set; }
|
|
||||||
|
|
||||||
public double ArFlow => ArFlow_Run > 0 ? ArFlow_Run : ArFlow_Vent;
|
|
||||||
|
|
||||||
public double ArMol => GetMol(ArFlow_Run);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.H2_Run.FeedBack")]
|
|
||||||
public double H2_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.H2_Vent.FeedBack")]
|
|
||||||
public double H2_Vent { get; set; }
|
|
||||||
|
|
||||||
public double H2Flow => H2_Run > 0 ? H2_Run : H2_Vent;
|
|
||||||
|
|
||||||
public double H2Mol => GetMol(H2_Run);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.PN2_Run.FeedBack")]
|
|
||||||
public double PN2_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.PN2_Vent.FeedBackSpecial")]
|
|
||||||
public double PN2_Vent { get; set; }
|
|
||||||
|
|
||||||
public double PN2Flow => PN2_Run + PN2_Vent;//=> GetPN2MFCFlow(IsPN2RunMode) * _pn2FlowRatio;
|
|
||||||
|
|
||||||
public double PN2Mol => GetMol(PN2Flow);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.HCL_Run.FeedBack")]
|
|
||||||
public double HCL_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.HCL_Vent.FeedBack")]
|
|
||||||
public double HCL_Vent { get; set; }
|
|
||||||
|
|
||||||
public double HCLFlow => HCL_Run + HCL_Vent;
|
|
||||||
|
|
||||||
public double HCLMol => GetMol(HCLFlow);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.SiH4_Run.FeedBack")]
|
|
||||||
public double SiH4_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.SiH4_Vent.FeedBack")]
|
|
||||||
public double SiH4_Vent { get; set; }
|
|
||||||
|
|
||||||
public double SiH4Flow => SiH4_Run + SiH4_Vent;
|
|
||||||
|
|
||||||
public double SIH4Mol => GetMol(SiH4Flow);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.C2H4_Run.FeedBack")]
|
|
||||||
public double C2H4_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.C2H4_Vent.FeedBack")]
|
|
||||||
public double C2H4_Vent { get; set; }
|
|
||||||
|
|
||||||
public double C2H4Flow => C2H4_Run + C2H4_Vent;
|
|
||||||
|
|
||||||
public double C2H4Mol => GetMol(C2H4Flow);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.TCS_Run.FeedBack")]
|
|
||||||
public double TCS_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.TCS_Vent.FeedBack")]
|
|
||||||
public double TCS_Vent { get; set; }
|
|
||||||
|
|
||||||
public double TCSFlow => TCS_Run + TCS_Vent;
|
|
||||||
|
|
||||||
public double TCSMol => GetMol(TCSFlow);
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.TMA_Run.FeedBack")]
|
|
||||||
public double TMA_Run { get; set; }
|
|
||||||
|
|
||||||
[Subscription("GasRealTimeFlow.TMA_Vent.FeedBack")]
|
|
||||||
public double TMA_Vent { get; set; }
|
|
||||||
|
|
||||||
public double TMAFlow => TMA_Run + TMA_Vent;
|
|
||||||
|
|
||||||
public double TMAMol => GetMol(TMAFlow);
|
|
||||||
|
|
||||||
public bool ISPN2Flow => PN2Flow > 0 && IsPN2RunMode;
|
|
||||||
public bool ISHCLFlow => HCLFlow > 0 && IsHCLRunMode;
|
|
||||||
public bool ISSiH4Flow => SiH4Flow > 0 && IsSiH4RunMode;
|
|
||||||
public bool ISC2H4Flow => C2H4Flow > 0 && IsC2H4RunMode;
|
|
||||||
public bool ISArFlow => ArFlow_Run > 0;
|
|
||||||
public bool ISH2Flow => H2_Run > 0;
|
|
||||||
public bool ISTCSFlow => TCSFlow > 0 && IsTCSRunMode;
|
|
||||||
public bool ISTMAFlow => TMAFlow > 0 && IsTMARunMode;
|
|
||||||
|
|
||||||
private double GetMol(double fedback)
|
|
||||||
{
|
|
||||||
return fedback / 1000 / 22.4141;
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Process Data Statistic
|
#region Process Data Statistic
|
||||||
|
|
||||||
[Subscription("ProcessDataStat.RealtimeList")]
|
[Subscription("ProcessDataStat.RealtimeList")]
|
||||||
@ -1689,6 +1593,38 @@ namespace MECF.Framework.UI.Client.CenterViews.Modules.PM
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 真值表方式统计流量
|
#region 真值表方式统计流量
|
||||||
|
public GasFlowData H2FlowData => GetFlow("H2");
|
||||||
|
public GasFlowData N2FlowData => GetFlow("N2");
|
||||||
|
public GasFlowData WCO6FlowData => GetFlow("WCO6");
|
||||||
|
public GasFlowData MOFlowData => GetFlow("MO");
|
||||||
|
public GasFlowData MOCO6FlowData => GetFlow("MOCO6");
|
||||||
|
public GasFlowData CS2FlowData => GetFlow("CS2");
|
||||||
|
public GasFlowData O2FlowData => GetFlow("O2");
|
||||||
|
public GasFlowData H2SeFlowData => GetFlow("H2Se");
|
||||||
|
public GasFlowData SO2FlowData => GetFlow("SO2");
|
||||||
|
public GasFlowData H2SFlowData => GetFlow("H2S");
|
||||||
|
|
||||||
|
private GasFlowData GetFlow(string gasName)
|
||||||
|
{
|
||||||
|
var run = (double)QueryDataClient.Instance.Service.GetData($"{SystemName}.GasRealTimeFlow.{gasName}_Run.FeedBack");
|
||||||
|
var vent = (double)QueryDataClient.Instance.Service.GetData($"{SystemName}.GasRealTimeFlow.{gasName}_Vent.FeedBack");
|
||||||
|
|
||||||
|
GasFlowData flow = new GasFlowData
|
||||||
|
{
|
||||||
|
GasName = gasName,
|
||||||
|
RunFlow = run,
|
||||||
|
VentFlow = vent,
|
||||||
|
Flow = run + vent,
|
||||||
|
Mol = GetMol(run)
|
||||||
|
};
|
||||||
|
return flow;
|
||||||
|
}
|
||||||
|
|
||||||
|
private double GetMol(double fedback)
|
||||||
|
{
|
||||||
|
return fedback / 1000 / 22.4141;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 返回ViewModel绑定的视图对象。
|
/// 返回ViewModel绑定的视图对象。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
64
Framework/MECF.Framework.UI.Core/Control/GasFlow.xaml
Normal file
64
Framework/MECF.Framework.UI.Core/Control/GasFlow.xaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<UserControl
|
||||||
|
x:Class="Aitex.Core.UI.Control.GasFlow"
|
||||||
|
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:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:Aitex.Core.UI.Control"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
d:Background="#91b0cd"
|
||||||
|
d:DesignHeight="26"
|
||||||
|
d:DesignWidth="287"
|
||||||
|
mc:Ignorable="d">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Grid Visibility="{Binding FlowData.RunVisibility, RelativeSource={RelativeSource AncestorType=UserControl}}">
|
||||||
|
<local:FlowPipeV2
|
||||||
|
Width="62"
|
||||||
|
Height="9"
|
||||||
|
FlowOrientation="Horizontal"
|
||||||
|
GasType="Slow"
|
||||||
|
IsFlowing="True"
|
||||||
|
RenderTransformOrigin="0.5,0.5">
|
||||||
|
<local:FlowPipeV2.RenderTransform>
|
||||||
|
<TransformGroup>
|
||||||
|
<RotateTransform Angle="180" />
|
||||||
|
</TransformGroup>
|
||||||
|
</local:FlowPipeV2.RenderTransform>
|
||||||
|
</local:FlowPipeV2>
|
||||||
|
<Border
|
||||||
|
Width="62"
|
||||||
|
Height="9"
|
||||||
|
Background="Gold"
|
||||||
|
Opacity="0.8" />
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="LightGray"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1">
|
||||||
|
<TextBlock Text="{Binding FlowData.RunFlow, StringFormat={}{0:f1}, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="Gold"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1"
|
||||||
|
Opacity="0.8">
|
||||||
|
<TextBlock
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding FlowData.GasName, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="LightGray"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1">
|
||||||
|
<TextBlock Text="{Binding FlowData.VentFlow, StringFormat={}{0:f1}, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
||||||
28
Framework/MECF.Framework.UI.Core/Control/GasFlow.xaml.cs
Normal file
28
Framework/MECF.Framework.UI.Core/Control/GasFlow.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using MECF.Framework.Common.Aitex.Core.Common.DeviceData;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
namespace Aitex.Core.UI.Control
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// GasFlow.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class GasFlow : UserControl
|
||||||
|
{
|
||||||
|
public GasFlow()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public GasFlowData FlowData
|
||||||
|
{
|
||||||
|
get => (GasFlowData)GetValue(FlowDataProperty);
|
||||||
|
set => SetValue(FlowDataProperty, value);
|
||||||
|
}
|
||||||
|
public static readonly DependencyProperty FlowDataProperty =
|
||||||
|
DependencyProperty.Register(nameof(FlowData), typeof(GasFlowData), typeof(GasFlow), new PropertyMetadata(null));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
57
Framework/MECF.Framework.UI.Core/Control/GasFlow2.xaml
Normal file
57
Framework/MECF.Framework.UI.Core/Control/GasFlow2.xaml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<UserControl
|
||||||
|
x:Class="Aitex.Core.UI.Control.GasFlow2"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:Aitex.Core.UI.Control"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
d:Background="#91b0cd"
|
||||||
|
d:DesignHeight="26"
|
||||||
|
d:DesignWidth="287"
|
||||||
|
mc:Ignorable="d">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="LightGray"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1">
|
||||||
|
<TextBlock Text="{Binding FlowData.VentFlow, StringFormat={}{0:f1}, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="Cyan"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1"
|
||||||
|
Opacity="0.8">
|
||||||
|
<TextBlock
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding FlowData.GasName, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
<Border
|
||||||
|
Width="75"
|
||||||
|
Height="26"
|
||||||
|
Background="LightGray"
|
||||||
|
BorderBrush="Gray"
|
||||||
|
BorderThickness="1">
|
||||||
|
<TextBlock Text="{Binding FlowData.RunFlow, StringFormat={}{0:f1}, RelativeSource={RelativeSource AncestorType=UserControl}}" />
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<Grid Visibility="{Binding FlowData.RunVisibility, RelativeSource={RelativeSource AncestorType=UserControl}}">
|
||||||
|
<local:FlowPipeV2
|
||||||
|
Width="62"
|
||||||
|
Height="9"
|
||||||
|
FlowOrientation="Horizontal"
|
||||||
|
GasType="Slow"
|
||||||
|
IsFlowing="True"
|
||||||
|
RenderTransformOrigin="0.5,0.5" />
|
||||||
|
<Border
|
||||||
|
Width="62"
|
||||||
|
Height="9"
|
||||||
|
Background="Cyan"
|
||||||
|
Opacity="0.8" />
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
||||||
28
Framework/MECF.Framework.UI.Core/Control/GasFlow2.xaml.cs
Normal file
28
Framework/MECF.Framework.UI.Core/Control/GasFlow2.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using MECF.Framework.Common.Aitex.Core.Common.DeviceData;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
namespace Aitex.Core.UI.Control
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// GasFlow2.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class GasFlow2 : UserControl
|
||||||
|
{
|
||||||
|
public GasFlow2()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public GasFlowData FlowData
|
||||||
|
{
|
||||||
|
get => (GasFlowData)GetValue(FlowDataProperty);
|
||||||
|
set => SetValue(FlowDataProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly DependencyProperty FlowDataProperty =
|
||||||
|
DependencyProperty.Register(nameof(FlowData), typeof(GasFlowData), typeof(GasFlow2), new PropertyMetadata(null));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -108,6 +108,12 @@
|
|||||||
<DependentUpon>CheckValue2.xaml</DependentUpon>
|
<DependentUpon>CheckValue2.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Control\ColorPicker.xaml.cs" />
|
<Compile Include="Control\ColorPicker.xaml.cs" />
|
||||||
|
<Compile Include="Control\GasFlow.xaml.cs">
|
||||||
|
<DependentUpon>GasFlow.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Control\GasFlow2.xaml.cs">
|
||||||
|
<DependentUpon>GasFlow2.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Control\GasSplitterControl.xaml.cs">
|
<Compile Include="Control\GasSplitterControl.xaml.cs">
|
||||||
<DependentUpon>GasSplitterControl.xaml</DependentUpon>
|
<DependentUpon>GasSplitterControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -449,6 +455,14 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="Control\ColorPicker.xaml" />
|
<Page Include="Control\ColorPicker.xaml" />
|
||||||
|
<Page Include="Control\GasFlow.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
|
<Page Include="Control\GasFlow2.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
<Page Include="Control\GasSplitterControl.xaml">
|
<Page Include="Control\GasSplitterControl.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user