Over a million developers have joined DZone.

Windows Phone: Shake (it)

· Mobile Zone

In this article I will talk about Windows Phone Shake gesture. Microsoft provides Shake gesture library which is available in AppHub.

Let's see how we can do this:

Step 1: Download Shake gesture library from http://create.msdn.com/en-us/education/catalog/article/Recipe_Shake_Gesture_Library

Step 2: Unzip Shake gestures library.zip and navigate to debug folder of ShakeGestures.

Windows Phone - Shake gestures library

Step 3: Create a silverlight for Windows Phone project.

Step 4: Add ShakeGestures dll to project.

Windows Phone - ShakeGestures dll

Step 5: Add a textblock inside contentpanel of MainPage.xaml.

<TextBlock Text="" Height="60" HorizontalAlignment="Left" Margin="100,100,0,0" Name="txtShakeType" VerticalAlignment="Top" FontSize="40" />

Step 6: Add ShakeGestures directive.

using ShakeGestures;
Step 7: Modify constructor of MainPage.xaml.cs as below. MinimumRequiredMovesForShake is set to 2 which means the device have to be shaked twice (One in each direction) on same axis.

public MainPage()
   ShakeGesturesHelper.Instance.ShakeGesture += new EventHandler<ShakeGestureEventArgs>(Instance_ShakeGesture);
   ShakeGesturesHelper.Instance.MinimumRequiredMovesForShake = 2;
   ShakeGesturesHelper.Instance.Active = true;

Step 8: Instance_ShakeGesture will be invoked on shake of device to update UI.

private void Instance_ShakeGesture(object sender, ShakeGestureEventArgs e)
   this.Dispatcher.BeginInvoke(() =>
      txtShakeType.Text = String.Format("Shaked Axis = {0}", e.ShakeType);

Step 9: Now run the application and shake the device on X, Y and Z axis. The device will show shake along different axis like below.

WP-Shake X Axis, Y Axis, Z Axis

This ends the article of Shake in Windows Phone.


Published at DZone with permission of Sumit Dutta, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}