<UserControl x:Class="CyberX8_Themes.UserControls.LoaderControl" 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:local="clr-namespace:CyberX8_Themes.UserControls" xmlns:converters="clr-namespace:CyberX8_Themes.Converters" mc:Ignorable="d" Name="loader" d:DesignHeight="310" d:DesignWidth="200"> <UserControl.Resources> <converters:BoolToVisibility x:Key="boolToVisibility"/> <converters:BoolToVisibility3 x:Key="boolToVisibility3"/> </UserControl.Resources> <VisualStateManager.VisualStateGroups> <VisualStateGroup> <VisualState Name="TrnpA"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="rotationAction" Storyboard.TargetProperty="Angle"> <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState Name="TrnpB"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="rotationAction" Storyboard.TargetProperty="Angle"> <SplineDoubleKeyFrame Value="90" KeyTime="0:0:1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState Name="Load"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="rotationAction" Storyboard.TargetProperty="Angle"> <SplineDoubleKeyFrame Value="0" KeyTime="0:0:1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState Name="Camera"> <Storyboard FillBehavior="HoldEnd"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="rotationAction" Storyboard.TargetProperty="Angle"> <SplineDoubleKeyFrame Value="63" KeyTime="0:0:1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Viewbox Stretch="Fill"> <Canvas Width="200" Height="310"> <Canvas.RenderTransform> <TransformGroup> <RotateTransform x:Name="rotationAction" CenterX="100" CenterY="155"/> </TransformGroup> </Canvas.RenderTransform> <Rectangle Canvas.Top="100" Width="200" Height="30" Stroke="LightGray" Visibility="{Binding ElementName=loader, Path=WaferVisibleA,Converter={StaticResource boolToVisibility}}"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> <GradientStop Color="DarkGray" Offset="0.0" /> <GradientStop Color="Black" Offset="0.5" /> <GradientStop Color="DarkGray" Offset="1" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> <Rectangle Canvas.Top="130" Width="200" Height="50" Stroke="LightGray"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> <GradientStop Color="Silver" Offset="0.0" /> <GradientStop Color="White" Offset="0.5" /> <GradientStop Color="Silver" Offset="1" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> <Rectangle Canvas.Top="180" Width="200" Height="30" Stroke="LightGray" Visibility="{Binding ElementName=loader, Path=WaferVisibleB,Converter={StaticResource boolToVisibility}}"> <Rectangle.Fill> <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> <GradientStop Color="DarkGray" Offset="0.0" /> <GradientStop Color="Black" Offset="0.5" /> <GradientStop Color="DarkGray" Offset="1" /> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> <StackPanel Canvas.Top="143" Panel.ZIndex="99"> <TextBlock FontSize="20" Text="Loader" TextAlignment="Center" Width="200"/> </StackPanel> <TextBlock Text="SideA" FontSize="17" Foreground="White" Canvas.Left="77" Canvas.Top="104" HorizontalAlignment="Left" Visibility="{Binding ElementName=loader, Path=WaferVisibleA,Converter={StaticResource boolToVisibility}}"/> <TextBlock Text="SideB" FontSize="17" Foreground="White" Canvas.Left="77" Canvas.Top="184" HorizontalAlignment="Left" Visibility="{Binding ElementName=loader, Path=WaferVisibleB,Converter={StaticResource boolToVisibility}}"/> <!--wafer--> <Viewbox Stretch="Uniform" Width="200" Height="200" Canvas.Top="-50" Canvas.Left="0" Visibility="{Binding ElementName=loader, Path=WaferVisibleA,Converter={StaticResource boolToVisibility3}}"> <Canvas UseLayoutRounding="False" Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top"> <Canvas Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781"> <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0"> <Path.Fill> <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5"> <RadialGradientBrush.GradientStops> <GradientStop Color="#FFE5E2DF" Offset="0" /> <GradientStop Color="#FFFFFFFF" Offset="0" /> <GradientStop Color="#FFADAEB0" Offset="0.52" /> <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" /> <GradientStop Color="#FF454F52" Offset="1" /> </RadialGradientBrush.GradientStops> </RadialGradientBrush> </Path.Fill> </Path> <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" /> </Canvas> <Canvas Tag="#00000000,#FF008000,Original,0,None" Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762"> <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" /> <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" /> </Canvas> </Canvas> </Viewbox> <Viewbox Stretch="Uniform" Width="200" Height="200" Canvas.Top="130" Canvas.Left="0" Visibility="{Binding ElementName=loader, Path=WaferVisibleB,Converter={StaticResource boolToVisibility3}}"> <Canvas UseLayoutRounding="False" Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top"> <Canvas Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781"> <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0"> <Path.Fill> <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5"> <RadialGradientBrush.GradientStops> <GradientStop Color="#FFE5E2DF" Offset="0" /> <GradientStop Color="#FFFFFFFF" Offset="0" /> <GradientStop Color="#FFADAEB0" Offset="0.52" /> <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" /> <GradientStop Color="#FF454F52" Offset="1" /> </RadialGradientBrush.GradientStops> </RadialGradientBrush> </Path.Fill> </Path> <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" /> </Canvas> <Canvas Tag="#00000000,#FF008000,Original,0,None" Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762"> <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" /> <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" /> </Canvas> </Canvas> </Viewbox> <TextBlock Text="A" FontSize="22" Foreground="Black" Canvas.Left="93" Canvas.Top="50" HorizontalAlignment="Left" VerticalAlignment="Top" Visibility="{Binding ElementName=loader, Path=WaferVisibleA,Converter={StaticResource boolToVisibility3}}"/> <TextBlock Text="B" FontSize="22" Foreground="Black" Canvas.Left="93" Canvas.Top="231" Height="23" Width="14" HorizontalAlignment="Center" VerticalAlignment="Top" Visibility="{Binding ElementName=loader, Path=WaferVisibleB,Converter={StaticResource boolToVisibility3}}"/> <Viewbox Width="126" Height="126" Canvas.Left="37" Canvas.Top="2" Visibility="{Binding ElementName=loader, Path=WaferVisibleA,Converter={StaticResource boolToVisibility3}}"> <local:WaferCtrl WaferData="{Binding ElementName=loader, Path=LoaderWaferA}"/> </Viewbox> <Viewbox Width="126" Height="126" Canvas.Left="37" Canvas.Top="182" Visibility="{Binding ElementName=loader, Path=WaferVisibleB,Converter={StaticResource boolToVisibility3}}"> <local:WaferCtrl WaferData="{Binding ElementName=loader, Path=LoaderWaferB}"/> </Viewbox> </Canvas> </Viewbox> </UserControl>