在我正在开发的 Silverlight 应用程序中,我需要跟踪鼠标的移动。我的问题是,使用 MouseMove 事件,如果用户移动鼠标足够快,我没有一组连续的点(如果我在列表中添加每个点,我可以有 (10,10) en 然后 (20,20 )...)
我想要在移动过程中鼠标所在的所有点。你有什么主意吗 ?
在我正在开发的 Silverlight 应用程序中,我需要跟踪鼠标的移动。我的问题是,使用 MouseMove 事件,如果用户移动鼠标足够快,我没有一组连续的点(如果我在列表中添加每个点,我可以有 (10,10) en 然后 (20,20 )...)
我想要在移动过程中鼠标所在的所有点。你有什么主意吗 ?
这不能有效地工作。silverlight 的 mousemove 事件等待操作系统向其发送带有坐标的信号。如果操作系统移动得非常快,它不会为它移动的每一个点触发它的事件。大多数操作系统执行无限循环,检查机器状态,如果这些循环很快,那么它可能会为每个点拾取鼠标移动。如果鼠标在 0.001 毫秒内从 (1,1) 移动到 (20,20),则操作系统可能会在 (10,10) 处调用事件,或者如果循环没有按时命中它,则根本不会调用。
您可以加快速度的一种方法是减少 mousemove 中的代码或使它们异步。
另一种方法是数学方法,根据您已经收集的内容计算路径。