如何检查视图区域之外的当前鼠标位置

时间:2016-11-11 03:13:07

标签: c# wpf listbox mouseevent controls

我找到了以下开源,这是关于在WPF中拖放控件的简单示例。 " http://www.codeproject.com/Articles/148503/Simple-Drag-Selection-in-WPF" 有了这个来源,我遇到了一些问题,当我移动控件时,这个移动的控件可以移动到视图区域之外并从该视图中消失。 到现在为止,我仍然坚持根。任何人都可以帮我解决这个问题? 谢谢你的关注。

1 个答案:

答案 0 :(得分:0)

为了控制覆盖PreviewMouseLeftButtonDown事件,在此方法内部获取相对于屏幕的鼠标位置坐标。

在电话之后 CaptureMouse(); 为了你的控制。

这将允许您监视鼠标移动到控件之外,因此请确保覆盖PreviewMouseMove并在PreviewMouseMove内部,您应该能够计算鼠标是在内部还是外部。控制区域或您想要比较的任何其他区域。

此外,您将需要覆盖PreviewMouseUp,并在其内部释放鼠标捕获ReleaseMouseCapture();来自之前的PreviewMouseLeftButtonDown调用。这很重要,否则你最终会得到奇怪的鼠标。