WPF 针对拖放操作的 IsMouseOver 触发器

7

我进行了拖放操作,并希望在ismouseover属性为true时触发图像元素更改其源。现在我意识到在拖放操作期间,ismouseover属性没有更新。

是否有其他方法可以在拖放活动仍在进行时更改鼠标悬停时图像的源?

1个回答

6
我遇到了同样的问题,最终在我的自定义控件中创建了一个名为 IsDragMouseOver 的新布尔型变量,并在控件模板中引用它。
在控件的后台代码中,我添加了以下内容:
protected override void OnDragEnter(DragEventArgs e)
    {
        base.OnDragEnter(e);
        IsDragMouseOver = true;
    }

    protected override void OnDragLeave(DragEventArgs e)
    {
        base.OnDragLeave(e);
        IsDragMouseOver = false;
    }

    protected override void OnDragOver(DragEventArgs e)
    {
        base.OnDragOver(e);
        IsDragMouseOver = true;
    }

    protected override void OnDrop(DragEventArgs e)
    {
        base.OnDrop(e);
        IsDragMouseOver = false;
    }

希望这能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接