| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 | <UserControl x:Class="Venus_Themes.UserControls.SERobot"             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:userControls="clr-namespace:Venus_Themes.UserControls"             mc:Ignorable="d"              d:DesignHeight="250" d:DesignWidth="200">    <Grid>        <Viewbox x:Name="viewbox" Stretch="Fill">            <VisualStateManager.VisualStateGroups>                <VisualStateGroup Name="RobotXActions">                    <VisualStateGroup.Transitions>                        <VisualTransition To="Extend">                            <Storyboard FillBehavior="HoldEnd" Timeline.SpeedRatio="13">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>                                    <LinearDoubleKeyFrame Value="0"  KeyTime="0:0:9"/>                                </DoubleAnimationUsingKeyFrames>                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>                                    <LinearDoubleKeyFrame Value="0"   KeyTime="0:0:9"/>                                </DoubleAnimationUsingKeyFrames>                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">                                    <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>                                    <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:8"/>                                    <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:7"/>                                    <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:6"/>                                    <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:5"/>                                    <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:4"/>                                    <LinearDoubleKeyFrame Value="70" KeyTime="0:0:3"/>                                    <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:2"/>                                    <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:1"/>                                    <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                        <VisualTransition To="Retract">                            <Storyboard FillBehavior="HoldEnd" SpeedRatio="14">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="0"  KeyTime="0:0:0"/>                                    <LinearDoubleKeyFrame Value="90" KeyTime="0:0:9"/>                                </DoubleAnimationUsingKeyFrames>                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="0"   KeyTime="0:0:0"/>                                    <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:9"/>                                </DoubleAnimationUsingKeyFrames>                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">                                    <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                                    <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:1"/>                                    <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:2"/>                                    <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:3"/>                                    <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:4"/>                                    <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:5"/>                                    <LinearDoubleKeyFrame Value="70" KeyTime="0:0:6"/>                                    <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:7"/>                                    <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:8"/>                                    <LinearDoubleKeyFrame Value="140" KeyTime="0:0:9"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                    </VisualStateGroup.Transitions>                    <VisualState Name="X_Origin">                        <Storyboard FillBehavior="HoldEnd">                            <!--后臂+底座-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="-30" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--中臂+前臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="Y">                                <LinearDoubleKeyFrame Value="35" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--中臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="30" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--前臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT3ArmTranslateAct" Storyboard.TargetProperty="Y">                                <LinearDoubleKeyFrame Value="30" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="Extend">                        <Storyboard FillBehavior="HoldEnd">                            <!--后臂+底座-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--中臂+前臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="Y">                                <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--中臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <!--前臂-->                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT3ArmTranslateAct" Storyboard.TargetProperty="Y">                                <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="Retract">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">                                <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                </VisualStateGroup>                <VisualStateGroup Name="RobotTActions">                    <VisualStateGroup.Transitions>                        <VisualTransition To="T_Origin">                            <Storyboard FillBehavior="HoldEnd">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                        <VisualTransition To="PMA">                            <Storyboard FillBehavior="HoldEnd">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0.5"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                        <VisualTransition To="PMB">                            <Storyboard FillBehavior="HoldEnd">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0.5"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                        <VisualTransition To="PMC">                            <Storyboard FillBehavior="HoldEnd">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="120" KeyTime="0:0:0.5"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                        <VisualTransition To="Aligner1">                            <Storyboard FillBehavior="HoldEnd">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                    <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0.5"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </VisualTransition>                    </VisualStateGroup.Transitions>                    <VisualState Name="T_Origin">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="PMA">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="PMB">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="PMC">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                    <VisualState Name="Aligner1">                        <Storyboard FillBehavior="HoldEnd">                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">                                <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0"/>                            </DoubleAnimationUsingKeyFrames>                        </Storyboard>                    </VisualState>                </VisualStateGroup>            </VisualStateManager.VisualStateGroups>            <Canvas Width="200" Height="300" >                <Canvas x:Name="robot" Width="100" Height="150" RenderTransformOrigin="1 1" >                    <!--robot总动作-->                    <Canvas.RenderTransform>                        <TransformGroup>                            <RotateTransform  Angle="180"/>                            <!--<RotateTransform  x:Name="robotRotateAct"/>-->                            <!--<TranslateTransform  x:Name="robotUpDownAct"></TranslateTransform>-->                        </TransformGroup>                    </Canvas.RenderTransform>                    <Canvas x:Name="armXT1" Width="200" Height="100"  Canvas.Top="100" RenderTransformOrigin="0.5 0.5">                        <!--后臂+底座动作-->                        <Canvas.RenderTransform>                            <RotateTransform  Angle="90"/>                            <!--<RotateTransform  x:Name="armXT1RotateAct"/>-->                        </Canvas.RenderTransform>                        <Canvas x:Name="armXT1Center"  Width="60" Height="60" Canvas.Left="70" Canvas.Top="20" ToolTip="底座">                            <Viewbox Canvas.Left="0" Canvas.Top="0" Width="60" Height="60">                                <userControls:SERobot4 IsEnabled="False" Height="60"/>                            </Viewbox>                        </Canvas>                        <Canvas x:Name="armXT1Arm" Width="120" Height="40"  Canvas.Left="10" Canvas.Top="30"  ToolTip="后臂" >                            <Viewbox Canvas.Left="0" Canvas.Top="-40" Width="120" Height="120" >                                <userControls:SERobot3 IsEnabled="False" Height="150"/>                            </Viewbox>                        </Canvas>                    </Canvas>                    <Canvas x:Name="armXT2" Width="270" Height="50" Canvas.Left="0" Canvas.Top="180" RenderTransformOrigin="1 0.5">                        <!--中臂加前臂动作-->                        <Canvas.RenderTransform>                            <TransformGroup>                                <TranslateTransform x:Name="armXT2Act"></TranslateTransform>                                <RotateTransform x:Name="armXT2RotateAct"/>                            </TransformGroup>                        </Canvas.RenderTransform>                        <Canvas x:Name="armXT2Arm" Width="120" Height="40"  Canvas.Left="10" Canvas.Top="-50" ToolTip="中臂" RenderTransformOrigin="0 0.5">                            <!--中臂动作-->                            <Canvas.RenderTransform>                                <TransformGroup>                                    <RotateTransform Angle="-90"/>                                    <TranslateTransform X="70"/>                                    <TranslateTransform Y="-25"/>                                    <RotateTransform x:Name="armXT2ArmRotateAct"/>                                </TransformGroup>                            </Canvas.RenderTransform>                            <Viewbox Canvas.Left="0" Canvas.Top="-40" Width="120" Height="120" >                                <userControls:SERobot2 IsEnabled="False" Height="150"/>                            </Viewbox>                        </Canvas>                        <!--前臂动作-->                        <Canvas x:Name="armGripper" Height="160" Width="45"  Canvas.Left="77" Canvas.Top="-170" ToolTip="前臂" RenderTransformOrigin="1 0.5">                            <Canvas.RenderTransform>                                <TransformGroup>                                    <TranslateTransform Y="-155"/>                                    <!--<TranslateTransform x:Name="armXT3ArmTranslateAct"/>-->                                    <RotateTransform x:Name="armXT3ArmRotateAct"/>                                </TransformGroup>                            </Canvas.RenderTransform>                            <Viewbox  Canvas.Left="0" Canvas.Top="0" Width="45" Height="160">                                <userControls:SERobot1 IsEnabled="False" Height="190"/>                            </Viewbox>                            <Viewbox Canvas.Left="-17" Canvas.Top="-90" Width="85" Height="85">                                <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="False"/>                            </Viewbox>                        </Canvas>                    </Canvas>                </Canvas>            </Canvas>        </Viewbox>    </Grid></UserControl>
 |