Skip to content

Instantly share code, notes, and snippets.

@laurentkempe
Created May 3, 2012 22:53
Show Gist options
  • Save laurentkempe/2590149 to your computer and use it in GitHub Desktop.
Save laurentkempe/2590149 to your computer and use it in GitHub Desktop.
var mouseDowns = Observable.FromEventPattern<MouseButtonEventHandler, MouseButtonEventArgs>(h => MouseDown += h, h => MouseDown -= h);
var mouseUps = Observable.FromEventPattern<MouseButtonEventHandler, MouseButtonEventArgs>(h => MouseUp += h, h => MouseUp -= h);
mouseDowns.Merge(mouseUps).WhenAny() .Subscribe(OneMouseUp);
}
private void OneMouseUp(EventPattern<MouseButtonEventArgs> eventPattern)
{
var windowUnderCursor = NativeMethods.GetWindowUnderMouse();
Messenger.Default.Send(new WindowInfo(windowUnderCursor));
}
@laurentkempe
Copy link
Author

Forget the WhenAny()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment