| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | <UserControl x:Class="VirgoUI.Client.Controls.Parts.EquipmentTopView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"             xmlns:parts="clr-namespace:VirgoUI.Controls.Parts"             xmlns:parts1="clr-namespace:VirgoUI.Client.Controls.Parts"             mc:Ignorable="d"              d:DesignHeight="636" d:DesignWidth="621">    <UserControl.Resources>        <ResourceDictionary>            <ResourceDictionary.MergedDictionaries>                <ResourceDictionary Source="/VirgoUI;component/Themes/Generic.xaml" />            </ResourceDictionary.MergedDictionaries>        </ResourceDictionary>    </UserControl.Resources>    <Canvas Margin="0">        <Canvas.Resources>            <Storyboard x:Key="ATMDoor_Open">                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >                    <EasingDoubleKeyFrame KeyTime="0" Value="38"/>                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="5"/>                </DoubleAnimationUsingKeyFrames>            </Storyboard>            <Storyboard x:Key="ATMDoor_Close">                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >                    <EasingDoubleKeyFrame KeyTime="0" Value="5"/>                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="38"/>                </DoubleAnimationUsingKeyFrames>            </Storyboard>            <Style TargetType="{x:Type Rectangle}" x:Key="SlitValveA_Animation" >                <Style.Triggers>                    <DataTrigger Binding="{Binding PMASlitValveIsOpen}" Value="true">                        <DataTrigger.EnterActions>                            <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>                        </DataTrigger.EnterActions>                        <DataTrigger.ExitActions>                            <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>                        </DataTrigger.ExitActions>                    </DataTrigger>                </Style.Triggers>            </Style>            <Style TargetType="{x:Type Rectangle}" x:Key="SlitValveB_Animation" >                <Style.Triggers>                    <DataTrigger Binding="{Binding PMBSlitValveIsOpen}" Value="true">                        <DataTrigger.EnterActions>                            <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>                        </DataTrigger.EnterActions>                        <DataTrigger.ExitActions>                            <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>                        </DataTrigger.ExitActions>                    </DataTrigger>                </Style.Triggers>            </Style>        </Canvas.Resources>        <Image Source="/VirgoUI;component/Controls/Assets/Images/overview.png" Height="636"/>        <Path Data="M204.5,180 L187.5,185 154.5,92.5 269,51.5 302.5,142 286.5,148 294,161 321.5,151 278,33 135.5,84 178.5,202 209.5,191 z" Fill="{Binding PMABackground}" Opacity="0.7" Height="169" Canvas.Left="139" Stretch="Fill" Canvas.Top="34.5" Width="186"/>        <Path Data="M361.75,148 L347.25,142.75 381.5,50.25 496.5,91.75 463.5,183.5 446.25,176.75 441.25,190.25 471.75,201.5 514.5,83 372.5,31.25 330,150 357,160 z" Fill="{Binding PMBBackground}" Opacity="0.7" Height="170.25" Canvas.Left="330" Stretch="Fill" Canvas.Top="34" Width="184.5"/>        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="120" Canvas.Top="258" WaferData="{Binding Cooling2Wafer}"  />        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="120" Canvas.Top="362" WaferData="{Binding Cooling1Wafer}" />        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="474" Canvas.Top="258" WaferData="{Binding Aligner2Wafer}"  />        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="474" Canvas.Top="362" WaferData="{Binding Aligner1Wafer}" />        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="203" Canvas.Top="93" WaferData="{Binding PMAWafer}" />        <parts:WaferCtrl Width="66" Height="66" Canvas.Left="386" Canvas.Top="93" WaferData="{Binding PMBWafer}" />        <TextBlock Text="Cooling 1" Canvas.Left="125" Canvas.Top="440"></TextBlock>        <TextBlock Text="Cooling 2" Canvas.Left="125" Canvas.Top="230"></TextBlock>        <TextBlock Text="Aligner 1" Canvas.Left="481" Canvas.Top="440"></TextBlock>        <TextBlock Text="Aligner 2" Canvas.Left="481" Canvas.Top="230"></TextBlock>        <TextBlock Text="LP1" Canvas.Left="236" Canvas.Top="610"></TextBlock>        <TextBlock Text="LP2" Canvas.Left="405" Canvas.Top="610"></TextBlock>        <TextBlock Text="{Binding PMALabel}" Width="120" TextAlignment="Center" Canvas.Left="139" Canvas.Top="43" RenderTransformOrigin="0.5,0.5">            <TextBlock.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="-18.706"/>                    <TranslateTransform/>                </TransformGroup>            </TextBlock.RenderTransform></TextBlock>        <TextBlock  Text="{Binding PMBLabel}" Width="120" TextAlignment="Center"  Canvas.Left="392" Canvas.Top="40" RenderTransformOrigin="0.5,0.5">            <TextBlock.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="20.875"/>                    <TranslateTransform/>                </TransformGroup>            </TextBlock.RenderTransform></TextBlock>        <Grid x:Name="Slit_valve" Width="8" Height="76" Canvas.Left="261" Canvas.Top="163" RenderTransformOrigin="0.5,0.5" >            <Grid.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="70"/>                    <TranslateTransform/>                </TransformGroup>            </Grid.RenderTransform>            <Rectangle x:Name="SlitValve_Top" Style="{StaticResource SlitValveA_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38"   />            <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValveA_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />        </Grid>        <Grid x:Name="Slit_valve1" Width="8" Height="76" Canvas.Left="388" Canvas.Top="162" RenderTransformOrigin="0.5,0.5" >            <Grid.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="109"/>                    <TranslateTransform/>                </TransformGroup>            </Grid.RenderTransform>            <Rectangle x:Name="SlitValve_Top1" Style="{StaticResource SlitValveB_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38"   />            <Rectangle x:Name="SlitValve_Bottom1" Style="{StaticResource SlitValveB_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />        </Grid>        <parts1:Foup IdleVisibility="{Binding Foup1Idle, Converter={StaticResource BoolVisibilityConverter}}"                     ErrorVisibility="{Binding Foup1Error, Converter={StaticResource BoolVisibilityConverter}}"                     BusyVisibility="{Binding Foup1Busy, Converter={StaticResource BoolVisibilityConverter}}"                     CompleteVisibility="{Binding Foup1Complete, Converter={StaticResource BoolVisibilityConverter}}"                     Visibility="{Binding Foup1Present, Converter={StaticResource BoolVisibilityConverter}}" Width="70" Height="70" Canvas.Left="219" Canvas.Top="507"/>        <parts1:Foup             IdleVisibility="{Binding Foup2Idle, Converter={StaticResource BoolVisibilityConverter}}"            ErrorVisibility="{Binding Foup2Error, Converter={StaticResource BoolVisibilityConverter}}"            BusyVisibility="{Binding Foup2Busy, Converter={StaticResource BoolVisibilityConverter}}"            CompleteVisibility="{Binding Foup2Complete, Converter={StaticResource BoolVisibilityConverter}}"            Visibility="{Binding Foup2Present, Converter={StaticResource BoolVisibilityConverter}}" Width="70" Height="70" Canvas.Left="368" Canvas.Top="506"/>    </Canvas></UserControl>
 |