Skip to content

Instantly share code, notes, and snippets.

@thefringeninja
Created October 20, 2012 20:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thefringeninja/3924680 to your computer and use it in GitHub Desktop.
Save thefringeninja/3924680 to your computer and use it in GitHub Desktop.
Double Click with Reactive UI
public MyUserControlView()
{
InitializeComponent();
var mouseUp = Observable.FromEventPattern<
MouseButtonEventHandler,
MouseButtonEventArgs>
(h => MouseLeftButtonUp += h, h => MouseLeftButtonUp -= h);
var doubleClick = mouseUp.SelectMany(
e => mouseUp.Take(1).Timeout(
TimeSpan.FromMilliseconds(500),
Observable.Empty<EventPattern<MouseButtonEventArgs>>()));
doubleClick.Select(_ => this.list.SelectedItem)
.Where(x => x != null)
.Subscribe(x => ((MyViewModel) DataContext).MyCommand.Execute(null));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment