decyclone
replied on 01-05-2011 07:47
It can be done by adding a handler to following events:
UIElement.KeyUpEvent
UIElement.KeyDownEvent
UIElement.MouseLeftButtonDownEvent
UIElement.MouseLeftButtonUpEvent
UIElement.MouseWheelEvent
UIElement.TextInputEvent
UIElement.TextInputStartEvent
UIElement.TextInputUpdateEvent
Using following code:
// set last argument to true if want to handle `handled` events
AddHandler(UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(OnMouseLeftButtonDown), false);
On an element.
For example for following handler:
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
System.Diagnostics.Debug.WriteLine(String.Format("Sender: {0}, OriginalSource: {1}", sender, e.OriginalSource));
}
sender will be the element down below and e.OriginalSource will be the actual element that was directly under mouse.
[NOTE: This example was created in Silverlight 4]