整理主界面

添加各个模块界面
This commit is contained in:
hanqiangqiang 2026-03-31 15:14:52 +08:00
parent ecdeac75ce
commit ff84911ef3
10 changed files with 457 additions and 96 deletions

BIN
SicUI/Controls/Mainframe/Images/AtmRobotMultiLP/wf-3.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
SicUI/Controls/Mainframe/Images/Buffer.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
SicUI/Controls/Mainframe/Images/Component 2.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
SicUI/Controls/Mainframe/Images/tm4.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
SicUI/Controls/Mainframe/Images/wf-2.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,362 @@
<UserControl x:Class="SicUI.Controls.M2C4Parts.M2C4EFEMView3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:SicUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SicUI.Controls.M2C4Parts"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:unitControls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.UnitControls;assembly=MECF.Framework.UI.Client"
Width="771"
Height="699"
mc:Ignorable="d">
<Grid
x:Name="root"
Height="800"
VerticalAlignment="Top">
<Canvas Margin="-47,52,47,20">
<Image
Canvas.Left="250"
Canvas.Top="224"
Width="275"
Height="275"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Source="Images/tm4.png" />
<Image
Canvas.Left="341"
Canvas.Top="327.333"
Source="Images/tm3.png" />
<TextBlock
Canvas.Left="360"
Canvas.Top="269"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
Text="TM" />
<Canvas Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}">
<TextBlock
Canvas.Left="207"
Canvas.Top="146"
HorizontalAlignment="Center"
VerticalAlignment="Top"
FontFamily="Arial"
FontSize="18"
Text="PM1"
Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}" />
<Image
Canvas.Left="189"
Canvas.Top="141"
Width="160"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Source="Images/pmbg51.png">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="-5.5" />
</TransformGroup>
</Image.RenderTransform>
</Image>
<unitControls:Door
Canvas.Left="278"
Canvas.Top="272"
Width="90"
Height="9"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsDoorOpen="{Binding IsPM1DoorOpen}"
RenderTransformOrigin="0.5,0.5">
<unitControls:Door.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="-36" />
<TranslateTransform />
</TransformGroup>
</unitControls:Door.RenderTransform>
</unitControls:Door>
<!-- Tray和晶圆 -->
<Canvas Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}">
<Image
Canvas.Left="248"
Canvas.Top="182"
Width="80"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Source="Images/pm52.png"
Visibility="{Binding PM1HaveTray}" />
<controls:WaferCtrl
Canvas.Left="262"
Canvas.Top="192"
Width="30"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
WaferData="{Binding PM1Wafer}" />
<controls:WaferCtrl
Canvas.Left="292"
Canvas.Top="202"
Width="30"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
WaferData="{Binding PM1Wafer}" />
<controls:WaferCtrl
Canvas.Left="266"
Canvas.Top="224"
Width="30"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
WaferData="{Binding PM1Wafer}" />
</Canvas>
</Canvas>
<Canvas Visibility="{Binding IsPM2Installed, Converter={StaticResource BoolVisibilityConverter}}">
<TextBlock
Canvas.Left="510"
Canvas.Top="146"
HorizontalAlignment="Center"
VerticalAlignment="Top"
FontFamily="Arial"
FontSize="18"
Text="PM2"
Visibility="{Binding IsPM2Installed, Converter={StaticResource BoolVisibilityConverter}}" />
<Image
Canvas.Left="410"
Canvas.Top="129"
Width="160"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Source="Images/pmbg41.png">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="5.5" />
<TranslateTransform />
</TransformGroup>
</Image.RenderTransform>
</Image>
<unitControls:Door
Canvas.Left="389"
Canvas.Top="274"
Width="90"
Height="8"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsDoorOpen="{Binding IsPM2DoorOpen}"
RenderTransformOrigin="0.5,0.5">
<unitControls:Door.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="35.8" />
<TranslateTransform />
</TransformGroup>
</unitControls:Door.RenderTransform>
</unitControls:Door>
<!-- Tray和晶圆 -->
<Canvas Visibility="{Binding IsPM2Installed, Converter={StaticResource BoolVisibilityConverter}}">
<Image
Canvas.Left="431"
Canvas.Top="185"
Width="80"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Source="Images/pm52.png"
Visibility="{Binding PM2HaveTray}" />
<controls:WaferCtrl
Canvas.Left="444"
Canvas.Top="195"
Width="30"
Height="30"
HorizontalAlignment="Left"
VerticalAlignment="Center"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
WaferData="{Binding PM2Wafer}" />
<controls:WaferCtrl
Canvas.Left="475"
Canvas.Top="205"
Width="30"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
WaferData="{Binding PM2Wafer}" />
<controls:WaferCtrl
Canvas.Left="449"
Canvas.Top="227"
Width="30"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
WaferData="{Binding PM2Wafer}" />
</Canvas>
</Canvas>
<Canvas Visibility="{Binding IsLoadLockInstalled, Converter={StaticResource BoolVisibilityConverter}}">
<TextBlock
Canvas.Left="536"
Canvas.Top="418"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
Text="Load"
Visibility="{Binding IsLLInstalled, Converter={StaticResource BoolVisibilityConverter}}" />
<unitControls:Door
Canvas.Left="404"
Canvas.Top="428"
Width="83"
Height="9"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsDoorOpen="{Binding IsLLDoorOpen}"
RenderTransformOrigin="0.5,0.5">
<unitControls:Door.RenderTransform>
<TransformGroup>
<RotateTransform Angle="-46" />
</TransformGroup>
</unitControls:Door.RenderTransform>
</unitControls:Door>
<Image
Canvas.Left="406"
Canvas.Top="470"
Width="110"
Height="126"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Source="Images/wf-2.png">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="-46" />
</TransformGroup>
</Image.RenderTransform>
</Image>
</Canvas>
<local:AtmRobotMultiLP
Canvas.Left="349"
Canvas.Top="316"
Width="550"
Height="80"
HasTray="{Binding TMRobotHaveTray}"
IsEnabled="{Binding TMEnableWaferClick}"
RobotMoveInfo="{Binding TmRobotMoveInfo}"
RotateAngle="123"
ShowDock="False"
TranslateX="120"/>
<Canvas Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}">
<TextBlock
Canvas.Left="166"
Canvas.Top="418"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
Text="Buffer"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />
<Image
Canvas.Left="212"
Canvas.Top="407"
Width="100"
Height="120"
HorizontalAlignment="Left"
VerticalAlignment="Top"
RenderTransformOrigin="0.5,0.5"
Source="Images/Buffer.png">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="45" />
</TransformGroup>
</Image.RenderTransform>
</Image>
<unitControls:Door
Canvas.Left="263"
Canvas.Top="420"
Width="82"
Height="9"
IsDoorOpen="{Binding IsBufferDoorOpen}"
RenderTransformOrigin="0.5,0.5">
<unitControls:Door.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="45" />
<TranslateTransform />
</TransformGroup>
</unitControls:Door.RenderTransform>
</unitControls:Door>
</Canvas>
<Canvas Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}">
<Image
Canvas.Left="248"
Canvas.Top="182"
Width="80"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Source="Images/pm52.png"
Visibility="{Binding PM1HaveTray}" />
<controls:WaferCtrl
Canvas.Left="258"
Canvas.Top="191"
Width="60"
Height="60"
IsEnabled="{Binding PM1EnableWaferClick}"
IsRotary="{Binding IsPm1WaferRotary}"
WaferData="{Binding PM1Wafer}" />
</Canvas>
<Canvas Visibility="{Binding IsPM2Installed, Converter={StaticResource BoolVisibilityConverter}}">
<Image
Canvas.Left="431"
Canvas.Top="185"
Width="80"
Source="Images/pm52.png"
Visibility="{Binding PM2HaveTray}" />
<controls:WaferCtrl
Canvas.Left="442"
Canvas.Top="195"
Width="60"
Height="60"
IsEnabled="{Binding PM2EnableWaferClick}"
IsRotary="{Binding IsPm2WaferRotary}"
WaferData="{Binding PM2Wafer}" />
</Canvas>
<Canvas Visibility="{Binding IsLoadLockInstalled, Converter={StaticResource BoolVisibilityConverter}}">
<Image
Canvas.Left="450"
Canvas.Top="436"
Width="80"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Source="Images/pm52.png"
Visibility="{Binding LoadLockHaveTray}" />
<controls:WaferCtrl
Canvas.Left="464"
Canvas.Top="446"
Width="60"
Height="60"
IsEnabled="{Binding LLEnableWaferClick}"
WaferData="{Binding LoadLockWafer}" />
</Canvas>
</Canvas>
</Grid>
</UserControl>

View File

@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SicUI.Controls.M2C4Parts
{
/// <summary>
/// M2C4EFEMView3.xaml 的交互逻辑
/// </summary>
public partial class M2C4EFEMView3 : UserControl
{
public M2C4EFEMView3()
{
InitializeComponent();
}
public bool IsPM1DoorOpen
{
get { return (bool)GetValue(IsPM1DoorOpenProperty); }
set { SetValue(IsPM1DoorOpenProperty, value); }
}
public static readonly DependencyProperty IsPM1DoorOpenProperty =
DependencyProperty.Register("IsPM1DoorOpen", typeof(bool), typeof(M2C4EFEMView3), new FrameworkPropertyMetadata(false));
public bool IsPM2DoorOpen
{
get { return (bool)GetValue(IsPM2DoorOpenProperty); }
set { SetValue(IsPM2DoorOpenProperty, value); }
}
public static readonly DependencyProperty IsPM2DoorOpenProperty =
DependencyProperty.Register("IsPM2DoorOpen", typeof(bool), typeof(M2C4EFEMView3), new FrameworkPropertyMetadata(false));
public bool IsLLDoorOpen
{
get { return (bool)GetValue(IsLLDoorOpenProperty); }
set { SetValue(IsLLDoorOpenProperty, value); }
}
public static readonly DependencyProperty IsLLDoorOpenProperty =
DependencyProperty.Register("IsLLDoorOpen", typeof(bool), typeof(M2C4EFEMView3), new FrameworkPropertyMetadata(false));
}
}

View File

@ -5,9 +5,9 @@
xmlns:Common="clr-namespace:SicUI.Controls.Common" xmlns:Common="clr-namespace:SicUI.Controls.Common"
xmlns:controls="clr-namespace:SicUI.Controls" xmlns:controls="clr-namespace:SicUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core"
xmlns:local="clr-namespace:SicUI.Controls.M2C4Parts" xmlns:local="clr-namespace:SicUI.Controls.M2C4Parts"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core"
d:DesignHeight="38" d:DesignHeight="38"
d:DesignWidth="416" d:DesignWidth="416"
mc:Ignorable="d"> mc:Ignorable="d">

View File

@ -84,12 +84,12 @@
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Top"> VerticalAlignment="Top">
<parts:M2C4EFEMView2 <parts:M2C4EFEMView3
x:Name="system" x:Name="system"
Canvas.Left="236" Canvas.Left="250"
Canvas.Top="-80" Canvas.Top="-80"
Width="770" Width="600"
Height="620" /> Height="600" />
<StackPanel Canvas.Left="456" Canvas.Top="637"> <StackPanel Canvas.Left="456" Canvas.Top="637">
<Grid> <Grid>
@ -123,7 +123,7 @@
x:Name="PM1_Info" x:Name="PM1_Info"
Canvas.Left="300" Canvas.Left="300"
Canvas.Top="30" Canvas.Top="30"
Margin="-150,0,0,0" Margin="-200,0,0,0"
Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}"> Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110" /> <ColumnDefinition Width="110" />
@ -963,93 +963,6 @@
</Border>--> </Border>-->
</Grid> </Grid>
<Canvas
x:Name="ModuleNameInfo"
Width="100"
Height="200">
<TextBlock
Canvas.Left="440"
Canvas.Top="107"
FontFamily="Arial"
FontSize="18"
Text="PM1"
Visibility="{Binding IsPM1Installed, Converter={StaticResource BoolVisibilityConverter}}" />
<TextBlock
Canvas.Left="741"
Canvas.Top="107"
FontFamily="Arial"
FontSize="18"
Text="PM2"
Visibility="{Binding IsPM2Installed, Converter={StaticResource BoolVisibilityConverter}}" />
<!--<TextBlock
Canvas.Left="780"
Canvas.Top="290"
FontFamily="Arial"
FontSize="18"
Text="Buffer"
Visibility="{Binding IsPreHeatInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<TextBlock
Canvas.Left="411"
Canvas.Top="277"
FontFamily="Arial"
FontSize="18"
Text="UnLoad"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />
<!--<TextBlock
Canvas.Left="252"
Canvas.Top="492"
FontFamily="Arial"
FontSize="18"
Text="Aligner"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<!--<TextBlock
Canvas.Left="600"
Canvas.Top="285"
FontFamily="Arial"
FontSize="18"
Text="TM"
Visibility="{Binding IsTMInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<!--<TextBlock
Canvas.Left="571"
Canvas.Top="304"
Width="90"
FontFamily="Arial"
FontSize="18"
Text="{Binding TMPressure, StringFormat=0 mbar}"
TextAlignment="Center"
Visibility="{Binding IsTMInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<!--<TextBlock
Canvas.Left="353"
Canvas.Top="665"
FontFamily="Arial"
FontSize="18"
Text="CassAL"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<!--<TextBlock
Canvas.Left="573"
Canvas.Top="665"
FontFamily="Arial"
FontSize="18"
Text="CassAR"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<!--<TextBlock
Canvas.Left="780"
Canvas.Top="665"
FontFamily="Arial"
FontSize="18"
Text="CassB"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />-->
<TextBlock
Canvas.Left="595"
Canvas.Top="534"
FontFamily="Arial"
FontSize="18"
Text="Load"
Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}" />
</Canvas>
<StackPanel <StackPanel
x:Name="WaferSatus" x:Name="WaferSatus"
Canvas.Left="1010" Canvas.Left="1010"

View File

@ -192,6 +192,9 @@
<Compile Include="Controls\Mainframe\M2C4EFEMView.xaml.cs"> <Compile Include="Controls\Mainframe\M2C4EFEMView.xaml.cs">
<DependentUpon>M2C4EFEMView.xaml</DependentUpon> <DependentUpon>M2C4EFEMView.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\Mainframe\M2C4EFEMView3.xaml.cs">
<DependentUpon>M2C4EFEMView3.xaml</DependentUpon>
</Compile>
<Compile Include="Controls\Mainframe\RobotEfemTray.xaml.cs"> <Compile Include="Controls\Mainframe\RobotEfemTray.xaml.cs">
<DependentUpon>RobotEfemTray.xaml</DependentUpon> <DependentUpon>RobotEfemTray.xaml</DependentUpon>
</Compile> </Compile>
@ -418,6 +421,10 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<Page Include="Controls\Mainframe\M2C4EFEMView3.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Controls\Mainframe\RobotEfemTray.xaml"> <Page Include="Controls\Mainframe\RobotEfemTray.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@ -885,6 +892,15 @@
<ItemGroup> <ItemGroup>
<Resource Include="Resources\Images\screenshot.png" /> <Resource Include="Resources\Images\screenshot.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Resource Include="Controls\Mainframe\Images\Buffer.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Controls\Mainframe\Images\wf-2.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Controls\Mainframe\Images\tm4.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup> <PropertyGroup>
<PreBuildEvent> <PreBuildEvent>