我有一个鼠标左键状态的流:
var leftMouseButton = mouse.Select(x => x.LeftButton).DistinctUntilChanged();
然后我Window
给我一个可观察的表示鼠标拖动的可观察对象:
var leftMouseDrag = mouse
.Select(mouseState => new Point(mouseState.X, mouseState.Y))
.DistinctUntilChanged()
.Window(leftMouseButton.Where(x => x == ButtonState.Pressed), x => leftMouseButton.Where(y => y != x));
现在我想制作一个流leftMouseDrag
,给出点列表。每次用户完成拖动(LMB 向下 -> 移动 -> LMB 向上)时,它应该触发鼠标移动的位置列表。
我如何把一个IObservable<IObservable<Point>>
变成一个IObservable<IEnumerable<Point>>
?