我有一个网格,我想移动鼠标.虽然我只是徘徊和移动鼠标我希望事件发生,但当我按下mousedown他们应该暂停开火.一旦我解雇了鼠标,他们就应该继续.
如果这听起来非常简单,那可能不是.过了一段时间我们提出了一个不太优雅的解决方案,但我想知道是否存在更好的东西.我不会用我们的黑客影响你的方法.
所以初始代码不起作用
mouseMove.takeuntil(mouseDown).Repeat()
解决方法
这个怎么样:
bool mouseIsDown = false; Observable.Merge( mouseDown.Select(_ => true),mouseUp.Select(_ => false) ).Subscribe(x => mouseIsDown = x); mouseMove.Where(_ => !mouseIsDown);
技术上正确的答案涉及Window操作符,但这也很好并且更容易理解(我更容易编写)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。