Introduction
The code snippet will decide if the user has double clickled on a control or not in Silverlight (or you can use it in anywhere but I will demonstrate it only for Silverlight).
Background
As double click support is not there in Silverlight we have decided to write our own code for the same.
Using the code
TestListBox.MouseLeftButtonDown += new MouseButtonEventHandler(TestListBox_MouseLeftButtonDown);
TestListBox.MouseLeftButtonUp += new MouseButtonEventHandler(TestListBox_MouseLeftButtonUp);
Use the below code for event handling.
private void TestListBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs arguments)
{
try
{
arguments.Handled = true;
}
catch (Exception exception)
{
}
}
private void TestListBox_MouseLeftButtonUp(object sender, MouseButtonEventArgs arguments)
{
bool doubleClick;
try
{
doubleClick = MouseDoubleClickHelper.IsDoubleClick(sender, arguments);
if (doubleClick)
{ }
}
catch (Exception exception)
{
}
}

See attached code for the same. Based on the value of doubleClick
variable user can perform any task.
Points of Interest
While writing/analyzing the code I saw that WPF already has a doubleClick
event but Silverlight does not. Hope it will be there in the next version.
Oh it's there in Silverlight 5 see
http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5/silverlight-5-mouse-button-double-and-multi-click.
But we are using Silverlight 4.0 that's really bad. However I think this will be really helpful for those who still use oldies technologies like me.
History
Initial version.