我正在尝试win-form中的反应式框架。
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,只需要那些在MouseDowns之后超过1秒的MouseUps。多么?
发布于 2010-09-17 23:53:59
from d in mouseDowns.Timestamp()
from p in pointChanges
.TakeUntil(mouseUps)
.SkipUntil(Observable.Timer(d.Timestamp + TimeSpan.FromSeconds(1.0)))
select p;https://stackoverflow.com/questions/3732994
复制相似问题