【问题标题】:Get mouse position during drag in OnGiveFeedback override在 OnGiveFeedback 覆盖中拖动期间获取鼠标位置
【发布时间】:2013-09-20 20:38:09
【问题描述】:

我有一个使用 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;
    }

【问题讨论】:

    标签: c# html wpf drag-and-drop


    【解决方案1】:

    为什么不覆盖 OnDragEnter 和 OnDragLeave 并从那里更改 cruser。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 2010-10-29
      • 2013-05-12
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多