【发布时间】:2009-05-12 02:46:31
【问题描述】:
我正在使用 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),我将监视鼠标的移动,所以在最坏的情况下,我可以手动检查鼠标的位置并将其限制在画布上,但这似乎有点难看。
谁有更好的方法来限制光标边界?
【问题讨论】:
标签: c# wpf mouse cursor-position