Как я могу фильтровать события с помощью Throttle

Я пытаюсь использовать reactive-framework в форме выигрыша.

IObservable<IEvent<MouseEventArgs>> mouseMoves = Observable.FromEvent<MouseEventArgs>(this, "MouseMove");
IObservable<IEvent<MouseEventArgs>> mouseDowns = Observable.FromEvent<MouseEventArgs>(this, "MouseDown");
IObservable<IEvent<MouseEventArgs>> mouseUps = Observable.FromEvent<MouseEventArgs>(this, "MouseUp");
var pointChanges = mouseMoves.Zip(mouseMoves.Skip(1), (prev, post) => new { Prev = prev, Post = post });
var mouseDrags = from d in mouseDowns
                 from p in pointChanges.TakeUntil(mouseUps)
                 select p;

Я хочу отфильтровать mouseDrags, только те MouseUps, которые нужны более чем через 1 секунду после MouseDown. Как?

1
задан Enigmativity 19 October 2010 в 00:41
поделиться