Calling different States On MouseMove

Hi,

I have a control which has 4 states defined something like this :

<Grid x:Name="LayoutRoot">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="VisualStateGroup">
                <VisualStateGroup.Transitions>
                    <VisualTransition GeneratedDuration="00:00:00.4000000"/>
                    <VisualTransition From="AnimateUp" GeneratedDuration="00:00:00.4000000" To="Normal"/>
                    <VisualTransition From="AnimateDown" GeneratedDuration="00:00:00.4000000" To="Normal"/>
                    <VisualTransition From="AnimateRight" GeneratedDuration="00:00:00.4000000" To="Normal"/>
                    <VisualTransition From="AnimateLeft" GeneratedDuration="00:00:00.4000000" To="Normal"/>
                </VisualStateGroup.Transitions>
                <VisualState x:Name="Normal"/>
                <VisualState x:Name="AnimateUp">
                    <Storyboard>
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="grdProjection" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="-33"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="AnimateDown">
                    <Storyboard>
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="grdProjection" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="44"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="AnimateRight">
                    <Storyboard>
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="grdProjection" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="-33"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="AnimateLeft">
                    <Storyboard>
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="grdProjection" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="33"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <Grid x:Name="grdProjection" Margin="45,35,50,52"  MouseMove="grdProjection_MouseMove">
            <Grid.Projection>
                <PlaneProjection/>
            </Grid.Projection>
            <Grid.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF5B5B5B" Offset="0"/>
                    <GradientStop Color="#FF8E8E8E" Offset="1"/>
                </LinearGradientBrush>
            </Grid.Background>
            
        </Grid>
    </Grid>

Now I want to call different states on MouseMove. For example when mouse direction is up I want to call AnimateUp state, when direction is down it will call AnimateDown state , so on.

Somebody please help me by giving me some idea.