我希望在将控件拖入内部时获取容器的鼠标位置,以便我可以将自动滚动逻辑添加到容器中。但是,拖动时MouseMove根本不会触发,只有在拖动控件时才会触发DragOver。
测试示例
Draggable Gizmo:
program main
implicit none
integer, allocatable, dimension(:)::test1
integer i, c1, c2
c1=10
c2=5
allocate(test1(1:c1))
! I basically want to do this
!allocate(test1(c1+1:c2))
end program main
容器:
let viewYouWantToAddSubviewTo = parent?.view
或者这只是不可能?
答案 0 :(得分:0)
代码中的最后一个函数应该可以运行。或者(因为在您之前不应该有其他元素处理事件),您可以使用OnDragOver
方法而不是Preview
。
protected override void OnDragOver(DragEventArgs e)
{
Point position = e.GetPosition(this);
}
如果它不起作用,通常意味着你的控件的特定区域不会被击中 - 可见。确保IsHitTestVisible
为true
(必须是,否则子元素也不起作用),并且您的控件的Background
不是null
。如果您不想要背景并且仍然能够进行点击测试,请使用Transparent
作为背景。