1
我在嘗試使用響應式框架。如何使用Throttle過濾事件
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 17:07:30