我正在使用 WPF 应用程序,更具体地说是带有可拖动元素的 Canvas。
拖动项目后,我想将光标移动的范围限制在拖动项目的画布内。
可以开始拖动的事件如下所示
private void WidgetCanvas_PreviewHeaderLeftMouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
... logic to figure out if this is a valid drag, blah blah blah ...
this.IsDragging = true;
// TODO: clip the available cursor movement to actual width of Canvas
}
在 Preview-MouseUp 上,我想简单地将光标移动“取消剪辑”回到正常状态。
一旦开始拖动(PreviewMouseMove),我将监视鼠标的移动,所以最坏的情况是,我可以手动检查鼠标的位置并将其限制在画布上,但这似乎有点难看。
有人有更好的方法来限制光标边界吗?