我有一个使用 WPF 拖放内置功能的项目。当可拖动项目位于可放置项目内时,我正在使用 OnGiveFeedback 事件覆盖来更改光标。
我的问题是,我试图隔离拖放到的控件嵌入在侧面也包含 HTML 的区域中。当我在 HTML 区域上拖动时,我的光标会像在放置区域上一样发生变化。
我试图通过在我的 OnGiveFeedback 覆盖中获取鼠标位置来解决此问题,并确保鼠标仍在我的控制范围内。
我似乎找不到从这个覆盖中获取鼠标位置的方法。Mouse.Position 正在返回我的拖动开始的点,所以我假设一旦拖动操作开始鼠标事件就会被阻止。
任何见解将不胜感激。
代码片段:
protected override void OnGiveFeedback(GiveFeedbackEventArgs e)
{
// These Effects values are set in the drop target's
// DragOver event handler.
if (e.Effects.HasFlag(DragDropEffects.Move) || e.Effects.HasFlag(DragDropEffects.Copy))
{
Mouse.SetCursor(Cursors.Cross);
}
else
{
Mouse.SetCursor(Cursors.Arrow);
}
e.Handled = true;
}