# Calling different States On MouseMove

**URL:** https://forum.kirupa.com/t/calling-different-states-on-mousemove/296294
**Category:** programming
**Created:** [September 12, 2009, 7:27pm UTC](https://forum.kirupa.com/t/calling-different-states-on-mousemove/296294 "2009-09-12T19:27:31Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![bouncer](https://avatars.discourse-cdn.com/v4/letter/b/9d8465/32.png) [@bouncer](https://forum.kirupa.com/u/bouncer)
#### Post date: [September 12, 2009, 7:27pm UTC](https://forum.kirupa.com/t/calling-different-states-on-mousemove/296294/1 "2009-09-12T19:27:31Z")

</div>

Hi,

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

```auto
<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.
